1、一致性算法 java
CAP理论node
C 一致性 算法
A 可用性 session
P 分区容错性 分布式
分布式只能同时知足两条。 通常是AP spa
2.BASE理论code
BA 基本可用
server
S 软状态事务
E 最终一致性
ip
3.二阶段提交
阶段一:协调者发送事务内容。参与者执行事务,向协调者反馈执行事务结果
阶段二:协调者发送事务提交。参与者提交事务,向协调者反馈提交事务结果 若是阶段一存在参与者反馈执行失败或者没有收到参与者的回复,则发出取消事务 若是阶段二存在参与者反馈执行失败或者没有收到参与者的回复,则发出回滚事务
4.三阶段提交
5.Paxos算法
6.zab算法
2、zookeeper启动
下载zookeeper,因为zookeeper是java写的,因此要装上java环境
1.单机模式配置
修改%ZK%/conf/zoo-sample.cfg文件名为%ZK%/conf/zoo.cfg
%ZK%/bin/zkServer.sh启动
2.伪集群模式 (在一台机器上跑集群)
准备三份zk,每一份端口设置不一样。
%ZK%/conf/zoo.cfg
tickTime=2000
initLimit=5
syncLimit=2
dataDir=/tmp/zookeeper/server2
clientPort=2182
#集群机器配置
server.1=10.128.7.20:2888:3888
server.2=10.128.7.20:2889:3889
server.3=10.128.7.20:2890:3890
要在dataDir下面建立myid文件,内容就是server.num中的num号。
3.集群模式
和伪集群同样,只不过集群机器配置为不一样地址
3、zkCli.sh客户端使用
1.链接zookeeper服务
zkCli.sh -server ip:port
./zkCli.sh -server 127.0.0.1:2181
2.建立节点
create -s -e /path data acl -s是顺序节点,就是在名称后面加个自增的数字。-e是临时节点,就是session失效后删除
create /test asdasdmkzxlkcasd
3.删除节点
delete /zk_node_1
4.修改节点数据
set /zk_node_1 mydata