微服务之间是如何独立通信的?
程序员文章站
2022-05-02 09:54:25
...
微服务通信机制
系统之间各个服务是可以独立部署,是松耦合的。每个服务仅关注于完成一个任务并很好的完成该任务。
围绕业务能力组织服务,自动化部署,智能端点,对语言和数据的去中心话控制。
- 将组建定义为可被独立替换和升级的软件单元。
- 以业务能力为出发点组织服务的策略。
- 倡导谁开发谁运营的开发运维一体化方法。
- RestFul Http协议是微服务架构中最常用的通讯机制。
- 每个微服务可以考虑采用最佳微服务完成(如不同的编程语言)。
- 允许不同的微服务采用不同的数据持久化技术。
- 微服务非常注重建立架构和业务相关指标的实时监控和日志机制,必须考虑每个服务的失败容错机制。
- 注重快速更新,因此系统会随着时间不断变化和演进。可替代性模块化设计。
微服务通信方式
同步:RPC ,REST等。
异步:消息队列,要考虑消息的可靠传输、高性能,以及编程模型的变化等。
消息队列中间件如何选型?
1.协议:AMQP、STOMP、MQTT、私有协议等。
2.消息是否需要持久化。
3.吞吐量。
4.高可用支持,是否单点。
5.分布式扩展能力。
6.消息堆积能力和重放能力。
7.开发便捷,易于维护。
8.社区成熟度。
RabbitMQ是一个实现了AMQP(高级消息队列协议)协议的消息队列中间件。RabbitMQ支持其中的最多一次和最少一次两种。网易蜂巢平台的服务架构,服务间通过RabbitMQ实现通信。
文章来源:https://blog.csdn.net/qyj19920704/article/details/83927432
上一篇: 常犯错误总结(一)
下一篇: BeanUtils支持类