我计划在一个项目中使用微服务架构。.NET Core选择的Docker技术栈是RabbitMQ一个简单的服务总线,它应该能够部署在Linux.
假设我有一个Payment服务和一个Order服务,我希望这些服务中的每一个都公开REST端点。正因为如此,我想到了将这两个服务作为.NET Core Web APIs.
但问题是使用RabbitMQ. 每当我得到一个新的order,我想使用发布一个事件RabbitMQ,然后在Payment服务中监听该事件以执行某些操作(数据库更新)。但由于这些是Web APIs,我认为不可能像我描述的那样监听事件。(我觉得我可能不得不使用控制台应用程序之类的东西来订阅事件。)
考虑到系统的可扩展性和可扩展性,我想找到最可行的方法来使用最佳实践来实现这一目标。