北京网站设计精选柚v米科技,wordpress公告栏插件,网站换域名图片这么设置,流量宝官网背景#xff1a; 服务网格这个概念出来很久了#xff0c;从 2017 年被提出来#xff0c;到 2018 年正式爆发#xff0c;很多云厂商和互联网企业都在纷纷向服务网格靠拢。像蚂蚁集团、美团、百度、网易等一线互联 网公司#xff0c;都有服务网格的落地应用。服务网格是微服… 背景 服务网格这个概念出来很久了从 2017 年被提出来到 2018 年正式爆发很多云厂商和互联网企业都在纷纷向服务网格靠拢。像蚂蚁集团、美团、百度、网易等一线互联 网公司都有服务网格的落地应用。服务网格是微服务架构的更进一步升级它的核心目的是实现网络通信与业务逻辑的分离使得开发人员更加专注在业务的实现上。 分析与解释 服务网格也就是 Service Mesh它是专门用来处理服务通讯的基础设施层。它的主要功能是处理服务之间的通信并且负责实现请求的可靠性传递。 Service Mesh我们通常把他称为第三代微服务架构既然是第三代那么意味着他是在原来的微服务架构下做的升级。 为了更好的说明 Service Mesh那就不得不说一下微服务架构部分的东西。 首先当我们把一个电商系统以微服务化架构进行拆分后会的到这样的一个架构如 图其中包括 Webserver、payment、inventory 等等。 如图这些微服务应用会被部署到 Docker 容器、或者 Kubernetes 集群。由于每个服务的业务逻辑是独立的比如 payment 会实现支付的业务逻辑、order 实现订单的处理、Webserver 实现客户端请求的响应等。 如图所以服务之间必须要相互通信才能实现功能的完整性。比如用户把一个商品加入购物车请求会进入到 Webserver然后转发到 shopping cart 进行处理并存到数据库。 而在这个过程中每个服务之间必须要知道对方的通信地址并且当有新的节点加入进 来的时候还需要对这些通信地址进行动态维护。所以在第一代微服务架构中每个微服务除了要实现业务逻辑以外还需要解决上下游寻址、通讯、以及容错等问题。 如图于是在第二代微服务架构下引入了服务注册中心来实现服务之间的寻址 并且服务之间的容错机制、负载均衡也逐步形成了独立的服务框架比如主流的 Spring Cloud、或者 Spring Cloud Alibaba。 在第二代微服务架构中负责业务开发的小伙伴不仅仅需要关注业务逻辑还需要花大量精力去处理微服务中的一些基础性配置工作虽然 Spring Cloud 已经尽可能去完成了这些事情但对于开发人员来说学习 Spring Cloud以及针对 Spring Cloud 的 配置和维护仍然存在较大的挑战。另外呢也增加了整个微服务的复杂性。 实际上“微服务中所有的这些服务注册、容错、重试、安全等工作都是为了保证服务之间通信的可靠性”。 于是就有了第三代微服务架构Service Mesh。 如图原本模块化到微服务框架里的微服务基础能力被进一步的从一个 SDK 中演进成了一个独立的代理进程-SideCar。 SideCar 的主要职责就是负责各个微服务之间的通信承载了原本第二代微服务架构中 的服务发现、调用容错、服务治理等功能。使得微服务基础能力和业务逻辑迭代彻底解耦。 之所以我们称 Service Mesh 为服务网格是因为在大规模微服务架构中每个服务的通信都是由 SideCar 来代理的各个服务之间的通信拓扑图看起来就像一个网格形状 如图。 Istio 是目前主流的 Service Mesh 开源框架。