記事のディレクトリ
「4.4.1ZooKeeperの概要」
-
12 10飼育係の適用事例:
-
13 15
zkの同様の製品:領事etcd(zkより軽量)Doozer -
18ポイントスタンドアロンバージョンのインストールリファレンスおよび関連する公式ドキュメントリファレンスポイント:
サーバーの起動:bin/zkServer.sh start
クライアントとの接続:bin/zkCli.sh -server 127.0.0.1:2181
-
24 45+ cli操作ガイド:
-
30 57+ Java API
-
36 35サードパーティクライアント:zkClient、キュレーター
「4.4.2ZooKeeperコアコンセプト」
-
セッション:
-
データ・モデル:
-
- 6 5 + znode命名規則
-
- 8ポイントのznodeノードタイプ:
- 8ポイントのznodeノードタイプ:
-
- 14 5 znodeデータ構造:
- 14 5 znodeデータ構造:
-
- 23 40 acl
-
- 27 50飼育係での時間:
- 27 50飼育係での時間:
-
3255+時計監視メカニズム
-
- 51 25ZkClientのサブスクリプションメソッドは継続的に監視できます
56 35+ zkの機能:
「4.4.3ZooKeeperの典型的なアプリケーションシナリオ」
-
16ポイントネーミングサービス:
-
16 50マスター選出:
方法1:一時ノードマスターの作成を競い、1つだけが成功し、それらすべてが監視されます
方法2:最小ノード方法:サーバーノードと子ノードの一時的な順序によって決定されます -
30 42以上の分散キュー:
-
34 55+分散ロック:
《 4.4.4ZooKeeperクラスター》
- 参照ビデオとhttps://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_zkMultiServerSetup、クラスターを形成するためにマシンに3つのzkをデプロイしました。具体的なデプロイは次のとおりです。
- conf /zoo1.cfgは次のとおりです。zoo2.cfg、zoo3.cfgは似ています
tickTime=2000
initLimit=10
syncLimit=5
dataDir=/var/lib/zk1
clientPort=2181
server.1=localhost:2881:3881
server.2=localhost:2882:3882
server.3=localhost:2883:3883
-
/ var / lib / zk1の下にmyidファイルを作成します。内容は1.2で、3は類似しています。zkファイルがzkユーザーによって作成され、このフォルダーがrootに属している場合は、一連の操作を実行してユーザーと権限を変更する必要があります
。sudochown
-R zk:zk / var / lib / zk1 chmod -R 775 / var / lib / zk1 -
1つずつ開始します。
java -cp zookeeper-3.4.10.jar:lib/*:conf org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo1.cfg
-
2243監視コマンド
-
26ポイント+ ZABプロトコル:zk
はリーダー選出には利用できません
「4.4.5詳細な分散整合性プロトコル」
-
ロールバックには元に戻すログが必要であり、送信にはやり直しログが必要です
-
15以下に示すように、2段階(2PC)で提出されます。私:プロトコルステップの観点から、2PCはZABプロトコルに似ています。コーディネーターはZABプロトコルのリーダーに似ています。ZABが半分以上を必要とするわけではなく、2PCがすべてを必要とします。最も基本的な違いは、2PCがコンセンサスアルゴリズムであるということです。ZABは、以下のPaxosのようなコンセンサスアルゴリズムである必要があります。
-
30 40+ 3PC:
3PCアプリケーションの難しさは、タイムアウト期間の設定にあります。市場に出回っている3PCアプリケーションはほとんどありません。 -
46ポイント+パクソス。ウィキペディア:Paxosはしばしば誤って「コンセンサスアルゴリズム」と呼ばれることに注意してください。しかし、「一貫性」と「コンセンサス」は同じ概念ではありません。Paxosはコンセンサスアルゴリズムです。
リーダーの問題は、リーダーの負荷が高いことです。リーダーが1つのポイントで失敗した場合、クラスター全体が使用できなくなり、可用性を回復するためにリーダーを再選出する必要があります。
- 100 45 ZAB、ラフトはパクソスから生まれました
「4.5.2Zookeeper分散ロックの実装」
- 23 7 Reentrantlockに衝撃的なグループ効果がないのはなぜですか?AQSには、現時点でロックを新たに適用するスレッド(不公平なロック)と競合するのに最も長い待機スレッドしかないためです。したがって、zkを使用して分散ロックを実装する2番目の方法、つまり一時シーケンスノードを使用する方法では、実際には同様の考え方であるキューを使用します。