実行中のWebサーバーインスタンスが多数あるWebサーバークラスタがあります。各インスタンスはローカルメモリにいくつかの設定をキャッシュし、元の設定はデータベースに保存されます。すべてのサーバーインスタンスでローカルメモリキャッシュを更新する方法
これらの設定はすべての要求で使用されるため、パフォーマンス上の理由からキャッシュが必要な場合があります。
管理者が設定を変更できる管理者ページを提供したいと考えています。すべてのサーバーインスタンスですべてのキャッシュを更新するにはどうすればよいですか?
は今、私はこのために2つのソリューションがあります。
- セットをANキャッシュの時間を有効期限が切れます。
- アドミニストレーターが設定を更新するときには、
pub/sub
メカニズム(例:redisを使用)によって各インスタンスに通知します。
解決策1の場合、変更はすぐに反映されません。ソリューション2のために
、私はパブ/サブがWebサーバーのパフォーマンスに影響を与える場合は、疑問に思っています。
どれが良いですか?またはこの問題に対する一般的な解決策がありますか?
A、よく知られている「ソフトウェアのエンジニアリングには2つの困難な問題があります:命名、キャッシュの無効化、オフ・バイ・ワンのエラー」があります。 – gudok