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