辅以专家洞察分析的最新科技新闻
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
通过 Think 时事通讯,了解有关 AI、自动化、数据等方面最重要且最有趣的行业趋势。请参阅 IBM 隐私声明。
微服务,也称为微服务架构,是一种云原生架构方法,其中应用程序由许多独立的、较小的组件或微服务构建而成。这种方法使开发人员能够更轻松地更新代码并添加或删除特性和功能,而不会影响应用程序的其余部分,从而获得了高可扩展性。
服务网格对微服务架构至关重要。它们提供高度可配置的基础架构层,微服务应用程序中的所有服务都可以在该层连接并交换信息。除了服务网格之外,微服务架构还与容器技术及其最常用的平台 Kubernetes 协同使用。
容器科技,以及其最流行的容器编排平台之一Kubernetes,已成为服务网格功能不可或缺的一部分,因为它能帮助开发人员管理复杂的、基于微服务的应用程序。
容器是软件的可执行单元,它将应用程序代码与其库和依赖项打包在一起,以便代码可以在任何计算环境中运行。随着容器在现代应用程序架构中的普及,管理大型容器组迅速成为一项挑战。
Kubernetes(也称为 k8s 或 Kube)应运而生,它是一个容器编排平台,如今已成为市场上最流行的编排解决方案之一。Kubernetes 集群(代表物理机和虚拟机的节点集合)在控制平面上进行管理。
服务网格功能的另一个重要方面是管理对特定集群内服务的访问方式,这个过程称为入口。
当今最流行的应用程序要求同时部署许多工作量或计算任务和进程。微服务架构使开发人员能够将每个应用程序构建为一组小型、独立的服务,从而更容易管理。
然而,为了使应用程序代码正常运行,微服务需要快速准确地进行通信,而服务网格架构的关键作用正体现在这里。服务网格的设计方式能让开发人员更好地控制应用程序中的服务间通信。
在最基本的层面上,服务网格依赖于一种称为基于代理的通信的通信类型,增强基于微服务的应用程序的可管理性和控制。基于代理的通信具有代理服务器(也称为代理),这些服务器充当微服务和组织网络之间的中介,允许流量通过代理流入服务和从服务流出。这种称为网络代理通信的功能,对于维护许多应用程序的可管理性、可观测性和安全性至关重要。
除了代理之外,服务网格架构还依赖于两个主要组件来实现其功能:控制平面和数据平面。
数据平面(也称为转发 平面)使数据能够通过路由器和交换机等设备在网络中发送。数据平面使用边车代理来管理服务之间的消息传递以及熔断和请求重试等重要功能。数据平面也负责执行负载平衡、服务发现和路由等关键能力。
服务网格及其所实现的微服务架构,为组织带来了许多关键益处。以下是一些最常见的益处。
服务网格具有一种称为自动服务发现的功能,可以帮助减少管理服务端点(即服务网格中可以访问特定微服务的位置)的工作量。服务注册表允许服务自动相互发现和通信,无论它们位于何处,从而使开发人员能够快速、轻松地部署新服务。
负载平衡是服务网格的一项关键功能,即在多个服务器之间分配网络流量以优化应用程序性能。服务网格利用算法帮助平衡节点间的工作负载,优化计算资源,并总体上确保应用程序的高可用性。
服务网格提供高级的流量管理和流量拆分功能,有助于优化网络上的信息流和资源流。虽然流量管理和流量拆分都用于控制网络上的信息流,但它们有一个值得注意的重要区别。流量管理侧重于对基础设施进行长期、系统性的更改,以改善信息流量,而流量拆分则涉及跨后端或服务版本的基于权重的流量分配。
服务网格能够对路由和流量行为进行细粒度、高度精细的控制,从而在应用程序更新到新软件版本时实现更平滑的过渡。例如,在广泛流行的 "金丝雀 "部署中,应用程序的新版本只向一小部分用户发布,以测试其功能和性能,再向所有用户全面发布。
全球网格服务提供商市场发展势头强劲,而且增长迅速。最近的一项调查显示,2023 年其估值为 2.22 亿美元,预计到 2032 年将增长到 5.05 亿美元,复合年增长率 (CAGR) 为 41.3%。2
在这样一个快速增长的行业中,选择合适的服务网格解决方案并非易事。需要考虑的关键因素包括成本、实施难易度、与现有技术的兼容性、安全性、性能和支持等。
以下是 5 种最流行的服务网格解决方案及其独特之处的简要概述。
比 Istio 更轻量、更简单,Linkerd 是一种简单的服务网格解决方案,可在保持低延迟的同时提升性能。Linkerd 具备企业期望从服务网格获得的所有基本功能,包括负载均衡、服务发现、加密等等。与 Istio 一样,Linkerd 也是开源的。
NGINX 比大多数其他服务网格更全面。它既可以作为Web 服务器,也可以作为反向代理,这意味着它可以提供比其他服务网格更广泛的协议支持。NGINX 专为追求极致性能和稳定性而设计,被许多高流量网站所采用。与 Linkerd、Istio 和其他服务网格解决方案一样,它是开源的。
由流行的云基础设施公司 HashiCorp 创建的 Consul 是一个多云服务网格,提供与许多其他流行服务网格相同的功能。Consul 是目前可用的最灵活的服务网格解决方案之一,可在许多不同的操作系统上使用,包括 Windows、Linux、macOS、FreeBSD 和 Solaris。Consul 同样是开源的,并因其流行的 Prometheus 插件(可增强监控能力)而广为人知。
专为 Amazon Web Services (AWS) 云部署而设计,AWS App Mesh 是一种服务网格,具有许多与 Linkerd、Istio 等相同的功能,包括增强的安全性、流量管理和可观测性。然而,AWS App Mesh 不够灵活,通常仅被认为适合已集成到 AWS 架构中的组织。
利用 AI 和自动化的强大功能,主动解决整个应用程序堆栈中的问题。
使用开发运维软件和工具,在多种设备和环境中构建、部署和管理云原生应用程序。
通过我们的云咨询服务持续实现应用现代化,加速业务敏捷性与增长——支持任意平台部署。
1 《服务网格是实现应用程序现代化的桥梁》,福布斯,2023 年 3 月
2 《服务网格市场报告》,Business Research Insights,2024 年 10 月