CEP エンジンを探していますが、要件を満たすエンジンがあるかどうかわかりません。私のシステムは、イベント データの複数のストリームを処理し、複雑なイベントを生成する必要があります。これは、ほぼすべての CEP エンジン (ESPER、Drools) に完全に適合します。
すべての生のイベントをデータベースに保存し (CEP の部分ではありませんが、これを行います)、ルール (または継続的なクエリなど) を使用して、複雑なイベントに対するカスタム アクションを生成します。しかし、私のルールのいくつかは、過去の出来事に依存しています。たとえば、配偶者が家に出入りするたびにセンサー送信イベントを設定できます。私の車と好きな女性の車の両方が家の近くにある場合、SMS 'Dangerous' を受け取ります。
問題は、イベント処理サービスを再起動すると、システムの状態に関するすべての情報が失われ (妻は家にいますか?)、それを復元するには、不明な期間イベントを再生する必要があることです。システム状態は、生のイベントだけでなく、複雑なイベントにも依存する可能性があります。
過去の複雑なイベントに関するレポートが必要な場合も、同じ問題が発生します。生のイベント データをデータベースに保存しており、生のイベントを再生するこれらの複雑なイベントを生成できますが、それらを再生する正確な期間がわかりません。
同時に、ほとんどのルールでは、システム状態を復元するために、過去から処理されるイベントの数 (または処理されるイベントをロードする期間) を自動的に見つけることができることは明らかです。与えられたアクションが家にいる妻の存在に依存する場合、CEP システムは最後のステータス変更を要求する必要があります。複雑なイベントに関するレポートが要求され、複雑なイベントが前の期間内の平均価格に依存する場合、この期間のすべての価格変更イベントを再生する必要があります。等々...
何か見逃したら?