在构建微服务时选择特定通信协议的最佳实践是什么?
例如,在构建MySQL微服务时,我应该使用原生MySQL连接,还是在REST或其他什么地方使用包装API?
其次,对于微服务之间的所有交互,我是否应该选择并使用单一的协议,如REST、JSON-RPC等?
谢谢!
发布于 2016-06-15 15:27:30
使用尽可能少的层,所以如果不需要,不要在MySQL之上编写REST API。让它尽可能的简单。
也就是说,尽量避免微服务之间的RPC。改用消息传递,这样服务就可以是自治的。我们不希望它们依赖于可能未运行的服务或其他任何东西。定义有界上下文,并让微服务存在于这些有界上下文中,使其成为特定业务问题的所有者。
从那时起,您可以为每个单个微服务选择所需的任何存储、协议、安全性等。消息传递系统可能更容易选择单个选项。虽然不是必需的,但它确保了您不需要在所有地方实现网关来从一个转换到另一个。
https://stackoverflow.com/questions/37806275
复制相似问题