标识符:
- 对各种变量方法和类等要素命名
- 凡是可以自己起名字的都叫标识符
定义合法标识符:
- 26个英文字母大小写,0-9,_或者$组成
- 数字不可开头
- 不能使用关键字和保留字
- 严格区分大小写,长度无限制
- 不能包含空格
- 尽量指明见意
位运算符:
标识符:
定义合法标识符:
位运算符:
注释:
多行注释:/** */
单行注释://
多行注释: /* */
raft选主看谁快
zookeeper选主:
所有节点同时提议,速率最快节点向其他节点发起选主请求,接收到其他节点返回后,并且重置其选举超时,这是速率最快节点成为leader。
zookeeper心跳:
心跳时间内完成leader 探活。多次未果认定leader挂了。
zookeeper 重新选主
重新进行投票选举
zookeeper数据同步:
客户端发送消息——leader更改后通过心跳发送给follow,投票过程结束,leader发送广播所有节点更改。
zookeeper数量:
满足最小高可用数量3,同时如果有脑裂也会保障有个奇数集群可用。
zookeeper 读写
set消息只能从leader 查询任意节点
cap原则:
consistency:一致性
available: 可用性
partition tonlerance 分区 容忍
paxos算法:
有主模式:
只有主才能提出异议,其他只能投票
编号不会乱,并且不会产生活锁
更新数据直接去主节点
无主模式:
zookeeper 选举策略:
只有leader才能提出选举,半数以上同意,
如果从提出需要发给leader,由leader提出;
如果leader挂了,slave连接不上,开始发声明到集群,从新选举;
原则:事务第一,服务id
zookeeper - cap原则
1.consistency 一致性
2.available 可用性
3.partition tonlerance 分区一直性
最终3中只能满足两种
最终一致性
zookeep - cap原则
1.分区容忍性 partition tonlerance
2.可用性 avaliable
3.一致性 Consistency
三种只能同时满足两种
ca:只有单节点存储才能保证这两点,分区不能保证;
cp:只能放弃a,由于网络原因等,分区数据不一定都可用
ap:要求查询数据时分区,可用,只能放弃一致性,必须12306购票显示有票过一会就没了。