私は、メモリ内キューをポーリングし、キューからアイテムを消費する、長時間実行される Java プロセスを作成しています。Zookeeper を使用して、このサービスで動的な構成を行いたいと考えています。スレッドを実行して Zookeeper ノードを監視する Java クラスを既に作成しました。Zookeeper ノードが変更されるたびにイベントがトリガーされ、Zookeeper ノード データの最新の内容が取得されます。問題は次のとおりです。
znodeデータのエンコーディングはどうあるべきか、1つのオプションは、システムのような.propertiesファイルを使用することです。そのため、キーと値のペアだけを使用し、リスナーで変更時に構成クラスにそれらのキーを設定します。
このデータをファイルに書き込み、その構成ファイルを Java プログラムに含めることは理にかなっていますか? このようにすると、構成が変更されたときに、何らかの形でディスクの内容を更新する必要があります。これらの構成をローカル ファイルに書き込むことに特に利点はありません。Zookeeper サーバーには十分な冗長性があり、サービスがバウンスされると、構成更新スレッドはその znode のすべてのデータを取得できます。