【发布时间】:2021-10-15 02:25:14
【问题描述】:
我正在为特定业务领域设计微服务。
该服务的要求是:
- 使用 RESTful API 公开一个同步通信通道。
- 通过消息传递与代理进行异步通信。 (将占大部分流量)。
注意:两种通信方式的业务逻辑层相同。
到目前为止,我有两种方法:
方法一
- 将服务的业务逻辑层提取到一个集中的核心存储库。
- 在 2 个不同的代码库中重用业务逻辑层,一个用于 REST,一个用于消息传递。
- 因此,这 2 个不同的代码库作为 2 个不同的进程运行,并且也是单独配置的。
方法2
- 鉴于服务代码的架构允许客户端和业务逻辑层可互换切换。
- 实现 2 个使用相同 BL 层的不同应用入口点: A. 作为订阅主题的服务器运行 B. Rub 作为暴露 RESTful API 的服务器。
- 使用不同的配置部署相同的代码库以建立不同的通信方式。
我的方法可能一开始就不合适,我很高兴听到您如何满足要求。这种情况下的最佳做法是什么?
提前谢谢????
【问题讨论】:
标签: rest microservices messaging