1

特定のユーザー アクションに基づいて定義済みのイベントを発生させる必要があるユース ケースが複数あります。

たとえばNewUser、アプリケーションで が作成されたときにCreateUserInWorkflowSystemFireEmailToTheUser非同期で呼び出す必要があるとしましょう。ユースケースに基づいてイベントが事前定義される、この種のビジネス ケースは他にも多数あります。Promises/Futures を使用して、これらのイベントを以下のようにモデル化できます

if 'NewUser' then 
    call `CreateUserInWorkflowSystem` (which will be Future based API)
    call `FireEmailToTheUser` (which will be Future based API)
if 'FileImport' then
   call `API3` (which will be Future based call)
   call `API4` (which will be Future based call)

これらのFuture呼び出しはすべて、失敗した呼び出しを再試行できるように、どこかに失敗を記録する必要があります。呼び出しは、それらの(イベントごとのイベント) が完了するNewUserのを待機しないことに注意してください。Futures

それはプレーンなFutures/PromisesAPI を使用していました。ただし、ここではAkka Persistenceが適切であり、ブロック呼び出しが引き続きFutures. Akka の永続性を使用すると、すぐに使用できるなどの理由で障害の処理が簡単になります。Akka の永続性はまだ実験段階にあることは理解していますが、タイプセーフは通常、これらの新しいフレームワークを昇格する前に実験的な状態に保つため、大きな懸念事項ではないようです。将来のリリースなどに(同じことがマクロにも当てはまりました)。これらの要件を考えるとFutures/Promises、Akka の永続性の方が適していると思いますか?

4

1 に答える 1