我有多个用例需要根据特定用户操作触发预定义事件。
例如,假设在应用程序中创建时,NewUser
它必须异步调用。还有许多其他这种性质的业务案例,其中将基于用例预定义事件。我可以使用 Promises/Futures 对这些事件进行建模,如下所示CreateUserInWorkflowSystem
FireEmailToTheUser
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/Promises
API。但是我认为Akka Persistence将是一个合适的选择,并且阻塞调用仍然会遇到Futures
. 使用 Akka 持久性,处理失败将很容易,因为它提供了开箱即用等。我知道 Akka 持久性仍处于实验阶段,但这似乎不是一个大问题,因为类型安全通常会在推广之前将这些新框架保持在实验状态进入未来的版本等(宏也是如此)。鉴于这些要求,您认为Futures/Promises
Akka 持久性更适合这里吗?