服务网格是用于处理服务间通信的专用基础设施层。它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求。服务网格是用于处理服务间通信的专用基础设施层,它负责通过包含现代云原生应用程序的复杂服务拓扑来可靠地传递请求。实际上,服务网格通常通过一组轻量级网络代理来实现,这些代理与应用程序代码一起部署,而不需要感知应用程序本身。
微服务发展的这几年,新的技术和概念层出不穷,这些技术的引入本质上都是在围绕服务稳定性和业务开发效率提升,最近两年服务网格越来越被广大的微服务用户所认知。
在服务网格使用过程中我们我们该如何进行具体的实践操作?
服务网格的接入首先是需要安装 Istiod,然后通过对 Namespace 打标来完成 Sidecar 的自动注入,可以选择性的对一些服务不进行 Sidecar 的注入,比如类似 MySQL、Redis 等中间件应用,主要是减少 Envoy 带来的延迟,在 EDAS 中可以针对每个应用进行打标,对需要加入服务网格的应用才进行 Sidecar 的注入。服务网格 Sidecar 通过容器的方式与业务容器共享网络,通过Iptables的方式将 inbound 和 outbound 流量都劫持到 Sidecar 上,Sidecar 解析数据包,获取请求后通过匹配服务发现数据找到对应的服务端,然后匹配对应的路由规则找到满足条件的服务端发送请求。
服务网格是当下云原生新技术领域最炙手可热的话题,随着云计算的不断发展和深化,微服务治理的关注点逐步从一站式解决方案转移到网格化的非侵入式代理,服务网格技术在企业生产实践中发挥着越来越重要的作用。