私はいくつかの分散型Key-Valueストアを評価していますが、etcdとConsulはどちらも非常に有望に見えます。サービス検出、ヘルスモニタリング、および構成サービスに興味があります。
Consulが提供する追加機能は気に入っていますが、サービスがダウンしたときにKey-Valueストアが保持されるかどうかを判断できませんか? etcdは永続性を提供しているようです。何かアドバイス?
最終的に、Dockerでprogrium/docker-consulイメージを実行し、いくつかのキーと値のペアを追加しました。 Ctrl-Cでシャットダウンした後、コンテナーを再起動したときに値が残っていました。また、docker execを介してコマンドラインからConsulを強制終了し、データも保持されました。
Progrium/docker-consulイメージは、/ dataディレクトリ内のすべてのデータを永続化しました。
領事エージェント(クライアントとサーバー)は、データをデータに永続化します。
エージェントがデータを永続化しない唯一のケースは、エージェントが「-dev」モードで開始された場合です。
コア領事開発者の1人から メッセージ github:
APIに登録されたサービスとチェックも、エージェントの再起動間の永続性のためにデータディレクトリに書き込まれるため、領事の再起動の間にこのディレクトリが失われると、構成が失われます。もちろん、これは静的構成JSONファイルで作成されたサービス/チェックには適用されません。
したがって、クラスターノードが正常にシャットダウンされた場合、Key-Valueストアはデータディレクトリに保存されます。
予期しないノードのシャットダウン(停止)が発生した場合、KVストアをデータディレクトリに保持するかどうかはわかりませんでした。