起源
2016年1月,Buoyant公司在git上发布了Linkerd 0.0.7版本,这是业界第一额Service Mesh项目。
2016年9月29日,Buoyant公司在SF Microservices大会上第一次提出Service Mesh概念。
2016年10月,Buoyant公司的官网博客开始连载《A Service Mesh for Kubernetes》系列文档。
2017年1月23日,Linkerd加入CNCF,Service Mesh开始被各大技术社区广泛讨论。
概念
服务网格是在基础设施层,负责在云原生应用复杂的服务拓扑结构中请求的可靠传递。在落地中,服务网格常常被实现为一个轻量级的网络代理,和应用程序部署在一起,但对应用程序是透明的。
服务网格的网络代理实现,通常不使用传统的Proxy代理模式,而是Sidebar模式。
Sidebar模式
什么是sidebar,可以理解为摩托车的辅助车(如下图所示,何冰所坐的地方),作功能拓展使用。Sidebar组件部署到单独进程或在容器中和原应用隔离,提供客户端给原应用使用。

和代理模式相比,Sidebar模式更进一步,这里主要体现在功能更全面。Sidebar模式几乎提供了远程调用框架所有的功能:包括不限于远程调用、负载均衡、限流、降级、熔断,甚至还提供了控制台。目前比较公认的Service Mesh产品是Istio,但是目前还不具备生产上使用。国内很多公司也推出了自己的Service Mesh实践,如新浪微博的Motan、蚂蚁的SOFAMesh和华为的Mesher等。
一点总结
Service Mesh也是一种思想,即通过控制网络通信,让微服务之间的远程调用更加可靠。