服务网格允许服务开发人员减少网络通信工作,将更多精力放在业务逻辑上。
服务网格是微服务应用的可配置基础设施层。确保服务实例之间的通信灵活、可靠和快速。网格提供服务发现、负载均衡、加密、身份验证和授权、断路器模式支持以及其他功能。
要实施服务网格,通常需要为每个服务实例提供名为 Sidecar 的代理实例。Sidecar 处理服务间通信、监控和安全相关问题,即任何可从单个服务中抽象出来的问题。通过这种方式,开发人员可以处理服务中应用代码的开发、支持和维护;运营团队可以维护服务网格并运行应用。
Istio 是目前最知名的服务网格架构,由 Google、IBM 和 Lyft 提供支持。Kubernetes,最初由 Google 设计,是 Istio 目前唯一支持的容器编排框架。
服务网格与服务发现协议配合使用,可在服务出现时对其进行检测。然后,当服务消失时,网格会以优雅的方式使其老化。服务发现是容器管理框架,会保存一份可随时接收请求或被其他服务发现的实例列表。两者共同协作,为服务间通信创造弹性。