我正在构建一个遵循 DDD 模式的应用程序,每个 AR 都将其事件发件箱保存到永久商店。该商店被对事件感兴趣的其他部分轮询。
整个应用程序是面向用户的,所以基本的基础设施是 asp.net web api。
现在,我想避免让我的域工件分布在不同的流程/基础设施选项中。例如,监听事件存储并在收到事件时执行逻辑的 Azure 函数。
将 Web api 和事件消费者放在同一个容器中似乎很方便。原因是域工件与 api 和事件消费者基础设施一起部署。
我读到这IHostedService
可能是它的一种选择,因为它可以运行长时间运行的后台进程。
问题是,是否IHostedService
适用于对事件发件箱做出反应的这种特定场景?还是我缺少一些重要的缺点和更好的基础设施选择?