2017-06-26 4 views
1

イベント・ゲーミング・ゲートウェイの実装にはベスト・プラクティスがありますか?ゲートウェイは、いくつかの外部サービスによって返された状態から進行して一連のイベントを生成することを可能にするインフラストラクチャまたはサービスとして意味される。ゲートウェイのイベント処理(外部システムとの同期)

イベント・ソースに基づくアプリケーションであっても、制御不可能ないくつかのエンタイトルメントが引き続き存在する可能性があります。たとえば、Azure ADのユーザーリストを同期させ、ユーザーリストを返すプロンプトを実行するとします。次に、プロジェクションからユーザーリストを取得し、外部状態との差をつけ、この差を埋めるためのイベントを生成します。

アプリケーションがオンラインショップであり、価格を表示するために実際のUSD/EUR /ビットコインランクをインポートする必要があります。ゲートウェイはいくつかの通貨プロバイダーをポーリングしてイベントを生成できます。単純なケースでは非常に簡単ですが、投影状態がより複雑な構造であれば、簡単なインポートは明白ではありません。

多分、この場合の一般的なアプローチはありますか?

+1

"投影状態がより複雑な構造であれば、簡単なインポートは明白ではありません"例がありますか? – plalx

答えて

4

poll-emitを使用する統合インテグレーションアダプターは通常の方法であり、私は個人的にこのような統合を一般的に行う方法を好みます。

イベントソーシングとはほとんど関係がありません。なぜなら、統合の問題を解決するために実際に必要とするのは、外部システムが独自のイベントを発生させるという望ましい機能をシミュレートし、消費する反応システムを構築できるからです。これらの出来事。

これらのイベントがアダプタからシステムに送信されたときには、必要な操作を行うことができますが、本質的に、イベントソースはイベントストリームに独自のオブジェクトの状態を格納することを前提としていますが、あなたの国家ではありません。外部イベントからシステム状態を導き出すことができますが、これらは自分のイベントになります。

+0

>これらのイベントがアダプタからシステムに届いたとき しかし、この部分は最も不明です。外部システムはイベントを生成せず、観測可能な状態のみを持ち、イベント系列として表現する必要があります。 主なタスクは、共有状態をイベントに変換することです。イベントストアに保存することができます。 –

+1

観察可能な状態をイベントに変換することができます。たとえば、いくつかのデータベースビュー(醜いがいつもの)から読み込み、相違点を見つけて、 "ExternalStuffCreated"または "ThatThingWasApproved"などを出力します。 –

関連する問題