2つのノードにSpringブートアプリケーションがあります。今度は、5秒ごとに外部サービスを呼び出す代わりに、キャッシュにデータを保存したいと考えています。問題は、2つのノード間でキャッシュを共有する方法です。出来ますか ?または、ノードごとに2回、別々のキャッシュを作成することもできますか?どのアプローチが良いですか?私は共有キャッシュを維持することはかなり難しいと思います。任意のヒントありがとうございますスプリング4、共有キャッシュのノード
答えて
Infinispan、hazelcast、Apache Igniteなどのクラスタ化された、または分散したキャッシュ製品を表す用語「共有キャッシュ」を選択します。
一貫:
次の理由のために共有キャッシュをすることができ、アプリケーションが一つのノードにキャッシュを更新した場合、共有キャッシュは、更新の伝播を気にし、すべてのノードが見ていることを確実にするでしょう更新後の新しい値が終了します。これは共有キャッシュが提供できるものですが、必ずしも "共有キャッシュ"製品が行うわけではありません。
タイムズ10問題:あなたはより多くのノードを追加すると、共有キャッシュはそうでない場合、各ノードは、同一の値を要求するかもしれない、外部サービスへの要求を制限します。
大きなデータ:これは分散キャッシュに適用されます。さらに1つのシステムにスペースがある場合、より多くのデータをキャッシュできます。
ただし、構成とデプロイの複雑さが増しますが、このメリットがあります。また、共有キャッシュへのアクセスレイテンシは、通常、ローカルキャッシュの場合よりもはるかに高くなります。比較のために、benchmarksを見てください。
まとめ:現在、2つのノードがあります。コーディネートされた更新または無効化の問題がない場合は、単純なローカルキャッシュを維持してください。あなたが将来の証明をしたいと思って共有キャッシュで暇つぶしにしたいなら、それを手に入れてください:)
私はすでにスプリングブートを使用しているので、バックグラウンドでRedisを使ってキャッシュ抽象化(アノテーション) 。 Redisは簡単に共有してクラスタ化でき、十分なパフォーマンスを発揮します。 official documentation
いいですが、別のマシンでredisをインストールする必要はありますか? – user3528733
フォールトトレラントにしたい場合は、複数のマシンにRedisをインストールし、HAクラスタをセットアップする必要があります(http://redis.io/topics/cluster-tutorial)。アプリケーションを実行しているマシンと同じマシンでこれを行うことができるのであれば、セキュリティー要件と、十分な容量が残っているかどうかによって異なります。 –
- 1. グラファイトクラスタ内の2つのノードのキャッシュでメトリックを共有
- 2. キャッシュとスプリング
- 3. activerecordメモリ内共有キャッシュ
- 4. 再キャッシュを共有する
- 5. Eclipselink共有キャッシュと@Transientフィールド
- 6. スプリング4 TestNGの+ @ Autowired
- 7. Swift 4 Whatsappでオーディオ共有
- 8. Corda:ノードとトランザクションを共有できないようにノードを共有する
- 9. スプリング4コンポーネントインジェクト(汎用)
- 10. スプリング4セキュリティタイル3カスタムサクセスハンドラ
- 11. キャッシュされた共有情報
- 12. コントローラとスケジューラ間でキャッシュを共有
- 13. 異なるサーバー間で共有キャッシュ
- 14. 動画を共有するにはSwift 4と共有する
- 15. スプリング4つのリソース・プロパティは
- 16. ノード/エクスプレス:ブラウザとサーバー間のセッション共有
- 17. 共有ノードの賢明なキュー
- 18. スプリングMVC 3.1ログインおよびセッションビーン共有困難
- 19. Amazon Elastic Beanstalkノード間でデータを共有
- 20. アングル4共有サービスオブザーバブル動作サブジェクト
- 21. プロジェクト間でSQL CE 4データベースを共有
- 22. スプリング統合固有のチャネル
- 23. Hibernate分散キャッシュ - 複数のアプリケーションが同じキャッシュを共有できますか?
- 24. スプリング依存性注入が動作しないスプリング4
- 25. サーバー上の共有キャッシュ用のREST APIキャッシュコントロール?
- 26. travisでノードjsのキャッシュを有効にするには?
- 27. rails 4キャッシュの有効期限が切れていない
- 28. 共有ホスティングのキャッシュを無効にするFat Free framework
- 29. SQLiteで共有キャッシュのサイズを設定するには?
- 30. WebViewと画像キャッシュを共有する方法
クラスタリング用に設定されたEhcacheを使用できます。 –
ehcacheに別のサーバーが必要ですか? – user3528733
いいえ、それはあなたのアプリケーションに埋め込むことができる単なるライブラリです。別のプロセスでもありません。 –