2016-04-30 9 views
1

ロードバランサの背後で実行されるSpringアプリケーションのインスタンスがいくつかあります。私はこれらの各インスタンスでEHCacheをキャッシュシステムとして使用しています。ロードバランサの背後にあるスプリングインスタンス間の通信

ひとつのインスタンスでキャッシュの一部をリフレッシュする要求を受け取りました。他のインスタンスにキャッシュをリフレッシュする(またはレプリケートする)ように指示する方法が必要です。

キャッシュのレプリケーションだけでなく、Springをベースにしたソリューションにもっと興味があります。これは、同じソリューションを必要とするこのようなシナリオが他にもあるためです。

どうすればこの問題を解決できますか?

答えて

1

これには単純なSpringソリューションはありません。要件によって異なります。 JMSトピックのようなPubSubを使用して、ノードに通知することができます。この方法では、一貫性を保証できないという問題があります。他のノードはしばらくの間、古いデータを読み取ることができます。私の現在のプロジェクトではRedisを使用しています。 Spring Data Redisでキャッシュとして設定しました。キャッシュが共有されているため、他のノードに通知する必要はありません。非キャッシュシナリオでは、RedisをPubSubサービスとしても使用します。

関連する問題