服务网格是指来自云托管应用程序的软件代码在网络服务器的不同级别以集成层编织在一起的方式。 云托管应用程序代码可以使用 API 构建,而不是在 Web 服务器堆栈配置顶层的隔离运行时中运行,这些 API 有助于调用在操作系统、Web 服务器、网络级别上可用的其他软件驱动服务,或 数据中心。服务网格通过扩展生产中基础设施元素之间的互操作通信级别来增加软件应用程序的潜在功能。
服务网格通过正在运行的应用程序之间的自动化、跨通道通信, 在弹性云 数据中心中的虚拟机上将数千个微服务编织在一起 。云编排、负载平衡、资源发现SDN 路由、API 通信、数据库同步和脚本优化应用程序需要跨 数据中心操作的所有级别的专用服务到服务通信功能 。服务网格可用于一次跨数百万个多租户机架服务器的多层网络架构的更好的数据分析和流量指标。
服务网格的好处
提高互操作性:服务网格扩展了集成微服务环境的 SDN 路由特性的功能,以支持 Web、移动和 SaaS 应用程序代码。
增强的微服务发现:服务网格 通过更好的微服务发现来改进网络配置和管理。
网络活动的详细实时监控和分析:服务网格可以访问后端进程和 Web 服务器硬件,以对网络活动进行更详细的实时监控和分析。
强大的 Web 和移动脚本自动化:开发人员可以通过 YAML 文件或实用程序(如 Vagrant、Jenkins、Puppet、Chef 等)编写服务网格功能脚本,以大规模构建强大的 Web 和移动脚本自动化。在企业生产中支持复杂的 SaaS 应用程序需要这种类型的架构。 服务网格为在云中同时运行的数千或数百万个容器提供协调 。
服务网格如何工作?
服务网格通过安装在弹性 Web 服务器网络中的每个 VM 实例或节点上的发现和路由应用程序工作,以通过 IP 地址注册正在运行的微服务。中央注册中心用于配置、管理和管理网络上所有同时运行的微服务。在 Web 服务器、数据中心或应用程序的各个层运行的并行应用程序可以引用服务网格,以通过数据分析和网络监控扩展互操作功能。这导致 IP 路由、SDN 定义、防火墙设置、过滤器、规则和云负载平衡级别的数据中心自动化程度提高。
API 连接可以参考服务网格,以定义在何处发现正在运行的应用程序和微服务功能以进行数据传输或所需的处理活动。使用Kubernetes自动扩展的弹性 Web 服务器平台 使用 Istio 作为微服务发现的中央注册表和配置管理实用程序。AWS EC2 和 Kubernetes 等弹性 Web 服务器平台利用服务网格在同时运行时管理多个云应用程序副本,同时同步对主数据库和存储信息的更改。服务网格允许应用层通过 API 与 Web 服务器、互联网和数据中心网络资源进行通信,反之亦然,具体取决于微服务或代码库的要求。
服务网格架构
服务网格基于安装在云数据中心的虚拟机或容器上的抽象层。代码安装在与运行数据中心编排的中央管理软件实例通信的每个 VM 或节点上。VMware NSX等服务网格解决方案 Istio 依靠 Envoy 在节点级别创建数据平面。Envoy 为每个 VM 或节点管理与正在运行的微服务、许可 IP 地址、HTTPS 加密、活动数据库格式等相关的信息。对于 NSX,这包括在管理程序级别的分布式防火墙集成。在弹性云网络中,每个虚拟机或节点的数据平面信息用于负载均衡。API 连接依赖于服务网格架构来满足应用程序间的路由要求。服务网格第 7 层的遥测包括 DNS、HTTP/S、SMTP、POP3、FTP 等。
服务网格实现
服务网格实现包括跨 SDN、IP 地址、微服务和 Web/移动应用程序的 API 资源的负载平衡和服务发现。服务网格管理弹性 Web 服务器架构中跨硬件的 Web 服务器后端连接的通信、同步和加密。在云应用程序中,脚本、数据库和静态 Web 文件通常在不同的硬件上分离,然后在 Web 浏览器的最终页面上组装。
使用代码中的第三方 API,硬件、脚本、数据库和文件之间的 SDN 路由变得更加复杂。当所有这些都必须为每个页面加载跨资源组装时,服务网格在弹性 Web 服务器框架中集成、同步和标准化跨 VM 的操作。创建服务网格是为了满足数据中心中没有其他软件提供的需求。它还包括来自网络流量连接的数据分析和用户指标。
开源服务网格
Istio 是目前最先进的开源服务网格项目,Envoy 用于与跨节点管理数据平面相关的核心功能。Istio 最初是作为云原生计算基金会 (CNCF) 的一部分开发的,并且在 VMware NSX Service Mesh 和 Enterprise PKS 平台中工作。PKS 是 VMware 的 Kubernetes 发行版,它通过容器编排云 Web 服务器。PKS 可用作公共和 私有云的自托管包 要求或作为完全托管的容器即服务 (CaaS) 产品。Istio 用于 Kubernetes 中的微服务通信,具有复杂的 IP 地址路由功能和加密,用于大规模企业数据中心的弹性 Web 服务器编排。Linkerd、Conduit、Aspen 和 Consul 是作为服务网格框架组件开发的其他重要开源项目。
弹性服务网格
需要弹性服务网格来同步 AWS EC2 或 Kubernetes 等云托管框架中的数据库和网站文件。服务网格控制 Web 服务器后端中 VM 之间的路由,以满足软件应用程序支持中的 API 和 SDN 要求。当服务网格还用于弹性 Web 服务器网络中的发现和负载平衡时,管理员可以自动分配数据中心资源,以匹配生产中用户流量的需求。Web 服务器可以配置为在不再需要时自动启动或终止,以更有效地使用云硬件资源。将实时监控和分析功能嵌入到 VM 或节点级别的服务网格中的能力为软件开发人员、程序员、
为什么微服务架构需要服务网格
公共云可能包含数百万个 跨容器或虚拟机同时运行的微服务,这些微服务通过隔离的运行时并行支持不同的应用程序和数据库。基于虚拟化的多租户环境需要更好的方法来发现和注册微服务,以便每个微服务的独特功能可以由应用程序集成或使用 API 共享给其他设备。许多微服务格式并不是专门为弹性 Web 服务器平台设计的,需要服务网格来管理容器中的操作。服务网格通过 SDN 提供细粒度的路由和加密功能,允许不同的 API 在 Web 服务器、端点和其他设备上运行的代码进程之间进行通信。