design-patterns - 微服务可以通过像 RabitMQ 这样的队列系统向自己发送异步消息吗?
问题描述
我正在经历一个项目,其中微服务通过 RabbitMQ 向自己发送异步消息,因为它包含消息生产者和消费者部分。原因是该服务可以向其他服务生成相同类型的消息,并从其他服务接收相同类型的消息。
这种模式对我来说是新的。它是微服务世界中的反模式吗?
解决方案
我不确定给出的原因是最好的动机,但是在 CQRS 风格的架构中,向自己发送消息的服务是完全正常的。在这样的架构中,每个服务将托管两个进程:前端或公共 API(例如网站或 REST API)和处理公共 API 放入队列的所有消息的后台进程/守护进程。
推荐阅读
- php - Laravel/Stripe - 如何在注销和同步 Stripe 的用户模型详细信息之间进行协调?
- javascript - 锻造模型属性 Excel
- python - 无法使用 Python 在临时文件中写入内容
- javascript - 异步函数调用内部的另一个异步函数。这两种调用这种方法的方式有什么区别吗?
- react-native - React navigation 5 底部标签栏 android 键盘 ISSUE
- algorithm - 如何编写一个遍历所有小写到数字映射的函数?
- c# - 在返回使用自动映射器映射的 DTO 时,如何为其分配子类类型的列表?
- python - AttributeError:部分初始化的模块'socket'没有属性'gethostbyname'(很可能是由于循环导入) - Python
- typescript - chromeless 库中的 evaluate() 不适用于 TypeScript
- python - 获取订购菜肴(Django ORM)中所有使用成分的数量以制作购物清单