Saya memiliki beberapa kasus penggunaan yang memerlukan peristiwa yang telah ditentukan sebelumnya untuk diaktifkan berdasarkan tindakan pengguna tertentu.
misalnya katakanlah ketika NewUser
dibuat di aplikasi, ia harus memanggil CreateUserInWorkflowSystem
dan FireEmailToTheUser
secara asinkron. Ada banyak kasus bisnis lain yang serupa dengan peristiwa yang ditentukan sebelumnya berdasarkan kasus penggunaan. Saya dapat menggunakan Promises/Futures untuk memodelkan peristiwa ini seperti di bawah ini
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)
Semua panggilan Future
itu harus mencatat kegagalan di suatu tempat sehingga panggilan yang gagal dapat dicoba lagi, dll. Catatan Panggilan NewUser
tidak akan menunggu Futures
(peristiwa per kata) selesai.
Itu menggunakan Futures/Promises
API biasa. Namun menurut saya Akka Persistence akan cocok di sini dan memblokir panggilan masih bisa mencapai Futures
. Dengan kegigihan Akka, penanganan kegagalan akan mudah karena menyediakannya di luar kotak, dll. Saya memahami kegigihan Akka masih dalam tahap percobaan tetapi itu tampaknya tidak menjadi masalah besar karena typesafe umumnya menyimpan kerangka kerja baru ini dalam keadaan eksperimental sebelum dipromosikan ke rilis mendatang, dll. (hal yang sama juga berlaku pada Makro). Dengan adanya persyaratan ini, menurut Anda apakah Futures/Promises
atau kegigihan Akka lebih cocok di sini?