システムには、管理コンソールと稼働中のサーバーのクラスターが含まれています。アプリケーションの状態はデータベースに保存されます。管理コンソールから、ユーザーは新しいジョブを追加したり、実行中のジョブを監視したりできます。稼働中のサーバーは、dbからジョブをフェッチして処理します。
現在、一部の構成もデータベースに保存されています。構成は各稼働中のサーバーにもロードされ、構成は頻繁に変更されないため、ほとんどがキャッシュされます。
管理者は(管理コンソールから)構成を変更できます。変更はデータベースに保存されます。動作中のサーバーに変更をプッシュするための最良の方法は何でしょうか?
これまでの私の考え:
更新/削除/挿入時に構成テーブルにトリガーを追加し、一部のAuxテーブルのタイムスタンプを更新します。キャッシュにアクセスする前に動作している各サーバーは、このAuxテーブルに変更がないかチェックします。短所:まだdbにアクセスしています。
管理コンソールから、構成が変更され、次の呼び出しでdbから読み取る必要があるすべての稼働中のサーバーに要求を送信します。短所:管理者とサーバー間のhttp通信(これまで存在しなかった新しいレイヤー)と、それがどれほど信頼できるかについては疑問があります。
このテーマに関する経験はありますか?