面试题~ 微服务之间如何独立通讯的 ?

﹥>﹥吖頭↗ 提交于 2020-04-20 12:31:02

微服务通信机制
系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。
围绕业务能力组织服务、自动化部署、智能端点、对语言及数据的去集中化控制。

    • 将组件定义为可被独立替换和升级的软件单元。
    • 以业务能力为出发点组织服务的策略。
    • 倡导谁开发,谁运营的开发运维一体化方法。
    • RESTful HTTP协议是微服务架构中最常用的通讯机制。
    • 每个微服务可以考虑选用最佳工具完成(如不同的编程语言)。
    • 允许不同微服务采用不同的数据持久化技术。
    • 微服务非常重视建立架构及业务相关指标的实时监控和日志机制,必须考虑每个服务的失败容错机制。
    • 注重快速更新,因此系统会随时间不断变化及演进。可替代性模块化设计。

微服务通信方式

  1.     同步
    dobbo通过 RPC 远程过程调用、springcloud通过 REST接口json调用等。
  2.     异步
    消息队列,如:RabbitMq、ActiveMq、Kafka 等。

消息队列中间件如何选型

1.协议:AMQP、STOMP、MQTT、私有协议等。
2.消息是否需要持久化。
3.吞吐量。
4.高可用支持,是否单点。
5.分布式扩展能力。
6.消息堆积能力和重放能力。
7.开发便捷,易于维护。
8.社区成熟度。
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!