ContentServers と ContentBuilders の 2 種類のノードのクラスターで構成されるコンテンツ提供アプリケーションを構築しています。
アイデアは、常に新鮮なコンテンツを提供することです。最近ビルドされた場合、コンテンツは最新です。つまり、Content.buildTime < MAX_AGE です。
要件:
*ContentServers は、コンテンツをルックアップして提供するだけで済み (分散キャッシュなどから)、コンテンツの各アイテムの最初のリクエストを除いて、何かが構築されるのを待つ必要はありません。
*ContentBuilders は負荷を分散し、有効期限が切れる直前にコンテンツを再構築し、実際に要求されているコンテンツのみを構築する必要があります。ビルドされたコンテンツは、すべての ContentServer ですばやく取得できる必要があります
どのアーキテクチャを使用すればよいですか? 私は現在、構築されたコンテンツを保持するための分散キャッシュ (おそらく EhCache) と、コンテンツ リクエストをビルダーに中継するためのメッセージング キュー (JMS/ActiveMQ など) を考えていますが、他のオプション/提案を検討します。ContentBuilders が同時に同じものをビルドせず、有効期限が近づいたときにのみコンテンツをビルドするようにするにはどうすればよいですか?
ありがとう。