开发者社区 > 云原生 > 正文

微服务与微服务之间有什么横向关系?

微服务与微服务之间有什么横向关系? image.png

展开
收起
Pony马 2021-01-14 20:02:01 802 0
1 条回答
写回答
取消 提交回答
  • 在合理划分好微服务间的边界后,主要从微服务的可发现性和可交互性处理服务间的横向关系。

    微服务的可发现性是指当服务 A 发布和扩缩容的时候,依赖服务 A 的服务 B 如何在不重新发布的前提下,如何 能够自动感知到服务 A 的变化?这里需要引入第三方服务注册中心来满足服务的可发现性;特别是对于大规模微服 务集群,服务注册中心的推送和扩展能力尤为关键。

    微服务的可交互性是指服务 A 采用什么样的方式可以调用服务 B。由于服务自治的约束,服务之间的调用需 要采用与语言无关的远程调用协议,比如 REST 协议很好的满足了 “与语言无关”和“标准化”两个重要因素, 但在高性能场景下,基于 IDL 的二进制协议可能是更好的选择。另外,目前业界大部分微服务实践往往没有达到 HATEOAS 启发式的 REST 调用,服务与服务之间需要通过事先约定接口来完成调用。为了进一步实现服务与服 务之间的解耦,微服务体系中需要有一个独立的元数据中心来存储服务的元数据信息,服务通过查询该中心来理解发 起调用的细节。

    伴随着服务链路的不断变长,整个微服务系统也就变得越来越脆弱,因此面向失败设计的原则在微服务体系中就 显得尤为重要。对于微服务应用个体,限流、熔断、隔仓、负载均衡等增强服务韧性的机制成为了标配。为进一步提 升系统吞吐能力、充分利用好机器资源,可以通协程、Rx 模型、异步调用、反压等手段来实现。

    2021-01-14 20:02:29
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
Apache Dubbo 微服务开发从入门到精通 立即下载
0225微服务x容器开源开发者MeetupPPT合辑 立即下载
云原生架构容器&微服务优秀案例集 立即下载