2017-06-15 5 views
1

zookeeperを探しているときに、並行書き込みが許可されていないという回答が返されます。 Explaining Apache ZooKeeper非同期APIを使用してZookeeperでノードを作成する


は今、私の質問は、飼育係は書い線形を持っているとして、それはノードを作成し、コールバックでの応答を取るために非同期APIを使用するように私を停止しないのですか?内部的には同時書き込みは許可されないかもしれませんが、何か不足していますか?

答えて

1

飼い猫はアンサンブルで動作しますが、書き込みは常にリーダーを介して行われます。したがって、リーダは書き込み要求をキューに入れて順次完了することができます。

非同期APIを使用しても、前述のアプローチには何の害もありません。書き込み要求は(クライアント側から)非同期ですが、リーダーは常にそれらが順次提供されることを確認します。非同期書き込み要求が提供されると、クライアントはコールバックを通じて通知されます。それは簡単です。リクエストはクライアントから見て非同期であることを覚えておいてください。しかし、リーダーの視点から見ると、彼らは逐次的に奉仕されています。

+0

質問に追加すると、読み取りと同じように機能しますか? – jdk2588

+0

No.アンサンブル内の任意のノードが読み取りを処理できます。書き込みはリーダーによってコミットされた後でしか表示されないので、これは問題ではありません。 –

+0

クライアントが古い値を読み取る可能性があるので、それは強固な一貫性ではありませんか? – jdk2588

関連する問題