k8s-informer深入学习
informer
基本点:
FIFO:先入先出队列,拥有队列的基本方法(add、update、delete、list、pop、close等)
Delta:存储对象的行为(变化)类型:Added、Updated、Deleted、Sync
go刷题基础篇
反转int切片的两种写法
方法1:
1234567891011121314package mainimport "fmt"func main() { ints := []int{1, 2, 3, 4, 5} ret := make([]int, len(ints)) for i := len(ints) - 1; i >= 0; i-- { ret[len(ints)-i-1] = ints[i] } fmt.Println(ret)}
方法2:
1234567891011121314package mainimport "fmt"func main() { ints := []int{1, 2, 3, 4, 5} for i, j := 0, len(ints)-1; i < j; i, j = i+1, j-1 { ints[i], ints[j] = ints[ ...
istio基础
istio基础
rust基础
简单跑起来
123fn main() { println!("hi, hello")}
rustc main.rs 编译
使用cargo创建项目
1cargo new mypro
12345fn main() { let myname = "cwz"; println!("{}", myname);}
go专场刷题
限制协程执行数量的基本方法:1234567891011121314151617181920212223242526272829303132package mainimport ( "fmt" "sync" "time")func job(index int) { time.Sleep(time.Millisecond * 500) fmt.Printf("执行完毕,序号:%d\n", index)}var pool chan struct{}func main() { maxNum := 10 pool = make(chan struct{}, maxNum) wg := sync.WaitGroup{} for i := 0; i < 100; i++ { pool <- struct{}{ ...
03-zookeeper基础
zookeeper简介zookeeper是什么zookeeper是一个开源的分布式协调服务,其设计目标是将那些复杂的容易出错的分布式一致服务封装起来,构成一个高效可靠的集合,并提供一些简单的接口给用户使用。
zookeeper主要用来解决分布式集群中应用系统的一致性问题,例如如何避免同时操作同一数据造成脏读的问题等。
zookeeper本质生是一个分布式的小文件存储系统。提供类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。
zookeeper提供给客户端监控存储在zookeeper内部数据的功能,从而可以基于数据的集群管理。
zookeeper的架构组成
zookeeper没有沿⽤传递的Master/Slave概念,⽽是引⼊了Leader、Follower、Observer三种⻆⾊。
leader:
zookeeper集群工作的核心角色
集群内部各个服务器的调度者
事务请求(写操作)的唯一调度者和处理者,保证集群事务处理的顺序;对于create、delete等有写操作的请求,则需要同意转发给leader处理,leader需要决定编号、执行操作,这个过程称为 ...
02-HBase基础
HBase基础HBase简介HBase的概念HBase是⼀个分布式海量列式⾮关系型数据库系统,可以提供超⼤规模数据集的实时随机读写。
什么是列式存储?举个例子:
MySQL是行式存储,需要存储如下数据:
id
name
age
salary
1
小明
21
2
小红
12k
这样存储信息,空值字段会浪费存储空间
但如果是列式存储:
1234rowkey: 1 name: 小明rowkey: 1 age: 21rowkey: 2 name: 小红rowkey: 2 salary: 12k
HBase的优点
海量存储: 底层基于HDFS存储海量数据
列式存储:HBase表的数据是基于列族进⾏存储的,⼀个列族包含若⼲列
极易扩展:底层依赖HDFS,当磁盘空间不⾜的时候,只需要动态增加DataNode服务节点就可以
⾼并发:⽀持⾼并发的读写请求
稀疏:稀疏主要是针对HBase列的灵活性,在列族中,你可以指定任意多的列,在列数据为空的情况下,是不会占⽤存储空间的
数据的多版本:HBase表中的数据可以有多个版本值,默认情况下是根据版本号去区分,版 ...
01-hadoop安装配置
hadoop安装配置Linux安装使用vagrant
vagrantfile
123456789101112131415161718Vagrant.configure("2") do |config| (1..3).each do |i| config.vm.define "hadoop-node#{i}" do |node| node.vm.box="centos7" node.vm.hostname="hadoop-node#{i}" node.vm.network "private_network", ip: "192.168.33.#{110+i}", netmask: "255.255.255.0" node.vm.provider "virtualbox" do |v| v.name = "hadoop-node#{ ...
03-springboot基础
快速搭建SSM工程XML文件配置SSM创建工程创建一个普通的maven工程,并添加SpringMVC依赖
1234567<dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.6</version> </dependency></dependencies>
添加Spring配置工程创建成功之后,首先添加 Spring 的配置文件,如下:
applicationContext.xml
1234567891011<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org ...
02-ssm基础
spring入门spring简介spring是分层的Java SE/EE应用 轻量级开源框架。提供了表现层 SpringMVC和持久层 Spring JDBC Template以及 业务层 事务管理等众多的企业级应用技术,还能整合开源世界众多著名的第三方框架和类库,逐渐成为使用最多的Java EE 企业应用开源框架。
spring有两大核心:
IOC Inverse Of Control:控制反转
AOP Aspect Oriented Programming:面向切面编程
IOCIOC概念IOC 控制反转,是一种思想,实际上是指对一个对象的控制权的反转。
控制:在java中指对象的控制权限(创建、销毁)
反转:指对象控制权由原来 程序员在类中手动控制 反转到 由spring容器控制
比如这样一段代码:
12345678910111213141516171819public class Book{ private Integer id; private String name; private Double price;}...... ...