問題タブ [etcd3]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
java - Apache Curator と etcd3 の詳細な比較
私は、 etcd3の最新リリース (2016 年 6 月 30 日にリリース) のドキュメントを調べましたetcd2
。それは、
- 単一の TCP 接続を介した多重ストリーミング ウォッチ
- スナップショット作成時のパフォーマンスの低下を避けるための増分スナップショット。
- クライアントのパフォーマンスを改善するための grpc 呼び出し
- ストリーミング リースを多重化し、ネットワークの使用量を減らします。
apache Zookeeperの上に書かれたapache curatorに関して言えば、それの利点は、本番環境で多くのアクティブなクライアントが使用する、信頼できる成熟したプロジェクトであることです。
Zookeeper は、ウォッチごとに個別の tcp 接続を使用し、リースごとに個別の tcp 接続を使用します。また、zookeeper の監視サービスは、監視要求ごとに 1 つのイベントのみを通知するため、特定のノードを継続的に監視する場合は、別の監視要求を送信する必要があります。etcd3は多重化されたストリームを使用しているため、過剰な tcp 接続でネットワークを使い果たすことはありません。
また、etcd3
とzookeeper
はコンセンサスにZAB
との 2 つの異なるアルゴリズムを使用しますraft
。ここで、raft はそれほど複雑ではありません。
実装したいdistributed locks, (use) watches and need to write a mechanism to share commands throughout the cluster using the watch api
。この実装は、Java で記述された ESB にプラグインされます。
ここで私の質問は、実装にどちら (curator/etcd3) を選択する必要があるか、またその理由は何ですか?
これら 2 つの実装の直接的な比較が見つからなかったので、適切な説明が必要です。
前もって感謝します!
docker - etcd3 docker persist ディスカバリー情報
Dockerで3ノードのETCクラスターをデプロイしたいです。そのため、その目的のために発見 URL を使用します。私が抱えている問題は、etcd コンテナーを削除して新しいコンテナーを開始すると、クラスターに再参加できないことです。Docker ログには次のように記載されています: メンバー "XXX" は以前に検出サービス トークン ( https://discovery.etcd.io/yyyy ) に登録されていますが、etcd は指定されたデータ ディレクトリ (/data) で有効なクラスター構成を見つけることができませんでした。
フォルダー /data および /waldir にボリュームを使用しています また、 --net=host を使用しているため、常に同じホスト IP を使用しています。
しかし、新しいコンテナーがクラスターに再参加できないのはなぜでしょうか? クラスター情報はコンテナー内のどこに保存されますか?
助けていただければ幸いです。ありがとう。
go - etcd3 Go クライアント - 大量のキー セットをページ分割する方法は?
キーの大規模なセットによるページネーションには、Get() への WithFromKey() および WithLimit() オプションの使用が含まれているようです。たとえば、10 アイテムの 2 ページをフェッチする場合は、次のようにします。
問題は、最後のキーが 2 ページ目の最初のアイテムとして再度フェッチされることです。これをスキップする必要があり、新しいアイテムは 9 つだけです。
それはページネーションの適切な方法ですか、それとも何か不足していますか?