vlambda博客
学习文章列表

从服务治理以及分布式发展史的角度剖析Service Mesh的精髓

   在软负载的世界里,分布式是一个非常重要的领域,世界在变,软负载领域也在变化。早在10年以前,技术大咖们基本都把精力集中在中间件领域,比如Spring、Mybatis、Struts等,根本不会考虑服务集群的统一管理和调度。Service Mesh目前之所以这么火,其实本质上与计算机、分布式、服务的发展有很大的关系的,也是技术发展必须要经历的过程。

  • 单机小型机时期

  • 集群化时期

  • 服务化时期

  • 微服务时期

  • 服务网格(Service Mesh) 新时期

单机小型机时期

  • 大而统一的巨无霸应用

  • 单机应用垂直拆分

  • 计算机摩尔定律-单机性能瓶颈

  • 商用IBM机器成本太高

集群化时期

  • 从高端的商用IBM机器切换到普通的PC

  • 硬件负载均衡瓶颈

  • 机器资源的最优配置问题

  • 软件负载均衡

服务化时期

  • 从应用到服务

  • 远程调用(RPC)

  • 管理复杂的服务依赖关系

  • 服务治理

    服务治理的软负载产品,比如DubooZooKeeper注册中心,SpringCloudEureka注册中心,服务治理主要维护提供者和消费者之间的映射关系(订阅关系)。

  • 旁路负载

微服务时期

  • 服务细化

  • 架构轻量级

       分布式架构的演进,微服务是一个分水岭,此时工程师才真正的意识到分布式架构本身的复杂性,微服务化之前,分布式都是往做多做细方向发展,比如集群化、服务化、服务治理化等,都是架构扩展演进。然而微服务在细化的同时,首次提出轻量级,在微服务化之后,分布式架构进入架构收缩的过程,架构本身的复杂度针对业务工程师是无感知的。

服务网格(Service Mesh)新时期

  • 多语言的差异性

  • 指数级的系统架构的复杂度

  • Sidecar设计(Linkerd)

  • Docker助力Sidecar

  • 第一代服务网格

    从数据逻辑层面上解决了微服务关系混乱的问题,但是并没有实现配置控制,解决了Sidecar的连接性问题。

  • 第二代服务网格

    增加了服务的配置控制功能,比如Istio

Service Mesh 商用方案

  • 以蚂蚁为代表的开源系 SOFA

  • 以华为为代表的自研系

  • 以腾讯为代表的拿来主义

  • UICloud为代表的适配系

  • Istio

打个广告: