1. 程式人生 > 實用技巧 >zookeeper 的理解

zookeeper 的理解

zookeeper 是分散式鎖架構中資料安全的問題:

可見性:

  JMM:volatile synchnorized lock

原子性:

  synchnorized lock

有序性:

  重新排序 volatile synchnorized lock

分散式鎖的解決方案:

mysql:

  使用行鎖: forupdate

  唯一索引

redis:

  setNx 命令;如果key不存在就插入,否則就返回null

zookeeper:

  分散式協調框架

半數協調機制

zookeeper 設定的叢集一般都是基數的 如果設定的叢集掛點之後存活的必須超過半數以上整個叢集才能使用。

主叢集能讀寫,其餘的都只能讀。

命令:

create -s 檔案路徑 內容     -s 是自動生成自增的序號

zookeeper中的監聽watch

  資料內容的監聽 ; get path watch

zookeeper中分散式鎖其實就是基於 短暫有序節點+watch(監聽)