BDCEPが提供するTerracotta連携を使うと、入力イベントの情報やそれを加工して生成された情報を、外部のTerracottaサーバのキャッシュに格納して参照できます。このTerracottaサーバのキャッシュは、複数のCEPサーバからアクセスできます。
入力イベントの情報やそれを加工して生成された情報をVirtual Data Windowを使ってTerracottaサーバのキャッシュに格納しておき、その格納された情報をVirtual Data Windowを使って参照するように複合イベント処理ルールを記述することによって、複数CEPサーバの前段ではロードバランサで振り分け、同一のTerracottaサーバのキャッシュを参照する形のスケールアウト構成での運用が可能になります。
図7.1 Terracotta連携により別CEPサーバに振り分けられたイベントを参照する例
注意
Virtual Data Windowを使ってTerracottaのキャッシュを参照する際には、unidirectionalを指定した結合(join)、on select文、副問合せを使用する必要があります。詳細は「5.4.4.3.3 Terracottaのキャッシュの利用方法」を参照してください。
Terracottaサーバのキャッシュのデータは、キーと値で構成するエントリーとして管理されます。キーとして指定しているプロパティの値に対して1つのエントリーだけしか保持されませんので、その点を考慮したルール設計が必要となります。
Virtual Data Windowを参照して更新する処理はトランザクション処理とはならないため、あるサーバで参照して更新するまでの間に別のサーバによる更新が行われる可能性があります。