Zookeeperを使ってサーバにシャード番号を割り当てる方法についてオンラインでいくつかの記事を見ましたが(クラスタ全体のデータをシャーディングすると仮定して)、私の人生はJavaコードを見つけることができませんこれを行う方法の例。誰もがすでにこの作業をしていますか?ありがとう。シャードインデックスを割り当てるためのZookeeper
3
A
答えて
2
レプリケーションや障害からの復旧など、クラスタ全体のシャーディングデータには多くの詳細があります。私はあなたがNノードを持っており、各ノードが1/N番目の要求を処理しなければならないということをシャーディングすると仮定しています。
最初に永続ノード/service
を作成します。各サーバーは、起動時にのような/service
という子のephemeralという子を作成します。クライアントは/service
にwatchを維持し、子供が追加されたり削除されたりすると通知を受けます(クライアントは通知のたびに時計を更新する必要があります)。このようにして、クライアントは要求を処理しているサーバーを認識し、必要に応じて要求を分散できます(ラウンドロビン、ランダム)。サーバーが停止すると、一時的なノードが消え、クライアントは要求の送信を停止できます。
飼育係ライブラリをお探しの場合は、おそらくcuratorが最適です。クライアントはPath-Cacheを使用しますが、サーバは単純に一時的なノードを作成します。
関連する問題
- 1. DOM要素にスタイルを割り当てるためのデストラクションの割り当て
- 2. globalipの割り当て/割り当て解除のためのトランザクションの状態を取得する方法
- 3. Rails + Sunspot:アソシエーションが割り当てられていないレコードをフィルタリングするための「未割り当て」ファセット
- 4. OPTIONを選択するための色の割り当て
- 5. あらかじめ割り当てられたmalloc'edストレージを使ってNSTextStorageを割り当てる方法
- 6. 割り当てられたアドレスで構造をインスタンス化する(割り当て割り当て)
- 7. msカテゴリをユーザに割り当てるためのアクセスフォーム
- 8. リソースを割り当てるためのAlgorthim
- 9. スレッドをコアに割り当てるためのAPI
- 10. xmllistコピー割り当てまたは参照割り当て?
- 11. クライアントを営業担当者に割り当てるためのExcel式
- 12. はTkinterの割り当てのためのテキストエディタを設計
- 13. スタックドライバロギングのための割り当て要求を増やす
- 14. dllの境界を越えたメモリ割り当てと割り当て解除
- 15. xcode/swiftで値の割り当てを割り当てます。
- 16. 変数の即時割り当てのためのブロックのランタイムオーバーヘッド
- 17. 割り当て
- 18. 割り当て
- 19. 割り当て
- 20. 割り当て
- 21. 割り当て
- 22. 割り当て
- 23. NERDtreeのパネルを切り替えるためのvimキーの再割り当て
- 24. カスタム高速STDのためのアロケータ:: wstringの割り当て
- 25. 配列のためのスペースの割り当て
- 26. クライアントとユーザのためのカフカの割り当て
- 27. 割り当てのためのテストケースの書き方
- 28. 初心者のためのJavascriptでの割り当て?
- 29. 割り当てられたオブジェクトの再割り当ての問題
- 30. 高い割り当て率のためのJVMチューニング