服务网格(service mesh)允许 service 的开发人员放手网络通信工作,将更多的精力放在业务逻辑上。
什么是 Service Mesh(服务网格)
服务网格是一个面向微服务应用的可配置基础架构层,可确保 service 实例之间的通信灵活、可靠且快速。服务网格提供服务发现、负载均衡、加密、身份验证和授权、断路器模式支持及其他功能。
服务网格通常的实现方式是为每个 service 实例提供一个代理实例(被称为 sidecar)。Sidecar 处理 service之间通信、监控和安全防护相关的问题——任何可以从各个service 中抽象出来的问题。因此,开发人员处理 service 中应用代码的开发、支持和维护;而运维团队维护服务网格并运行应用。
得到 Google、IBM 和 Lyft 支持的 Istio 是目前最著名的服务网格架构。Kubernetes 最初由 Google 设计,是目前 Istio 支持的唯一容器编排框架。
关于服务网格的视频
什么是微服务架构中的服务网格?
服务网格解决了实现微服务架构的一些关键挑战。在选择一套多样化的微服务实施技术时,服务网格提供了更大的空间,同时让开发人员能更多关注业务逻辑,而不是将更多的时间花在 service 之间的网络功能上。
服务网格和服务发现
服务网格搭配服务发现协议,可在 service 出现时快速检测到它们。当 service 消失时,服务网格会平滑地将其退出。服务发现是一个容器管理框架,维护着一份准备接受请求或被其他服务发现的实例的列表。这两者共同实现了 service 到 service 通信的弹性。
参考资料