パブリケーション
パブリケーションとは、アプリケーションからパブリッシュ/サブスクライブ・エンジンに送信されるメッセージのことをいいます。 パブリッシュ/サブスクライブ・エンジンは、メッセージを受信するためにサブスクライブしているアプリケーションにメッセージを送信します。
パブリッシュ/サブスクライブ・エンジンでは、受信したパブリケーションに含まれている情報のタイプに応じて、パブリケーションをさまざまな方法で処理できます。
状態情報とイベント情報
- 状態パブリケーション
- 状態パブリケーションには、現在の状態 (例えば、株価や、サッカーの試合の現在のスコアなど) に関する情報が含まれています。 何かが起こると (例えば、株価の変動やサッカーのスコアの変化)、それまでの状態情報は新しい情報に取って代わるので、不要になります。
- イベント・パブリケーション
- イベント・パブリケーションには、発生した個々のイベント (例えば、株の取引や、特定のゴールによる得点など) に関する情報が含まれています。 各イベントは他のイベントから独立しています。
保存パブリケーション
デフォルトでは、パブリッシュ/サブスクライブ・エンジンは、すべての対象サブスクライバーにパブリケーションを送信した時点で、そのパブリケーションを削除することになっています。 この種の処理は、イベント情報には適していますが、状態情報には必ずしも適していません。 パブリッシャーの側では、パブリッシュ/サブスクライブ・エンジンでパブリケーションのコピーを保持するように指定できます。そのコピーのことを保存パブリケーション といいます。 そのコピーは、対象のトピックに登録する後続のサブスクライバーに送信できるようになります。 つまり、新しいサブスクライバーは、情報が再びパブリッシュされるのを待たなくても、その情報を受信できる、ということです。 例えば、株価のサブスクリプションに登録しているサブスクライバーは、株価が変化した時点で情報が再パブリッシュされるのを待たずに、現在の株価情報をすぐに受信できます。
パブリッシュ/サブスクライブ・エンジンは、各トピックごとにパブリケーションを 1 つだけ保存します。つまり、新しいパブリケーションが入ってくると、古いパブリケーションは削除されます。 したがって、各トピックで 1 つのパブリッシャーだけが保存パブリケーションを送信するようにしてください。
サブスクライバーの側で、保存パブリケーションを受信しないように指定することも可能です。既存のサブスクライバーは、保存パブリケーションの重複コピーを送ってもらうように依頼できます。
保存パブリケーションを使用するかどうかを決定する方法について詳しくは、保存パブリケーションを参照してください。