Event-A
考える
、Event-B
、Event-C
は、私はセット内のすべてのイベントを持って知っていれば派生Event-ABC
を生成する処理をトリガします。ストリーミングイベントやルールベースのトリガー
イベントはユーザーID /セッションID
によってグループ化されている現在、私は、データベースへの書き込み、単一キューからすべてのイベントを読んで、そしてイベントが書き込まれたメタデータのことわざを更新します。メタデータにルールに基づくすべてのイベントが含まれると、集約処理がトリガーされます。このアプローチでは、同じグループに属するイベントを処理するときにキューの作業者が同じ鍵を潜在的に叩くことでパフォーマンス上の問題が発生するため、代替案を探しています。
私が望むのは、処理のためにuserId/sessionIdに基づいてルーティングとキューイングイベントを定義した、より細かいソフトウェアです。私がやろうとしていることは、イベントソーシングにいくぶん類似していると思います。
私はAkkaがこの種の問題に役立つかどうかを見ていました。 actor per userId/sessionIdを使用すると、不必要な並行性が減少し、アクタ内のトリガロジックが含まれます。私の心配は、非常に多くのアクタを使用するときに、メモリが大量に必要になる可能性があることです