Service Mesh 这个服务网络专注于处理服务和服务间的通讯。其主要负责构造一个稳定可靠的服务通讯的基础设施,并让整个架构更为的先进和 Cloud Native。在工程中,Service Mesh 基本来说是一组轻量级的服务代理和应用逻辑的服务在一起,并且对于应用服务是透明的。
像 Kubernetes 和 Docker 也是分布式系统管理面上的技术解决方案,它们一样对于应用程序是透明的。最重要的是,Kubernetes 和 Docker 对于应用服务的干扰是比较少的。也就是说,Kubernetes 和 Docker 的服务进程的失败不会导致应用服务的异常运行。然后,Service Mesh 则不是,因为其调度了流量,所以,如果 Service Mesh 有 bug,或是 Sidecar 的组件不可用,就会导致整个架构出现致命的问题。
在设计 Service Mesh 的时候,需要小心考虑,如果 Service Mesh 所管理的 Sidecar 出了问题,那应该怎么办?所以,Service Mesh 这个网格一定要是高可靠的,或者是出现了故障有 workaround 的方式。一种比较好的方式是,除了在本机有 Sidecar,还可以部署一下稍微集中一点的 Sidecar——比如为某个服务集群部署一个集中式的 Sidecar。一旦本机的有问题,可以走集中的。
此文章为3月Day30学习笔记,内容来源于极客时间《左耳听风》,强烈推荐该课程!