在数字浪潮下,云原生产业保持了强劲发展态势,更多企业接触到微服务、容器化等部署模式,希望通过新技术来降低运维成本,提升业务敏捷度。据2020年IDC全球数据中心预测报告,到2023年,80%的工作负载将转移到容器/微服务或由容器/微服务创建。
那什么是微服务架构?与服务网格是什么关系?企业该如何利用服务网格技术?
微服务
微服务架构是将原有的单体架构拆分成多个微小的服务,服务间采用轻量级的通信机制互相协作,且每个服务都围绕着具体业务进行构建,可独立部署到生产环境中,满足应用更小,更快的部署,同时具备可伸缩性,使得不同服务可以采用不同的开发技术,提高了开发效率,满足了以业务为中心的需求。
随着服务数量的增加,微服务架构面临新难题:一个软件的应用程序往往需要几十个、甚至数百个单独服务的协同工作,导致微服务架构的应用拓扑结构变得更加复杂,服务之间的交互稳定性降低,一个服务的故障可能会影响调用链上其它服务,形成雪崩效应,服务间调用的故障排查也变得更难。在这一背景下,服务网格应运而生。
服务网格
服务网格是用于微服务应用的可配置基础架构层,把微服务的各个service(服务)节点,用一张mesh(网格)连接起来,使每个service实例之间的通信更加流畅、可靠和迅速,解决服务之间的通信、监视系统运行状况、处理多点故障等问题。服务网格有以下的核心功能:
- 负载均衡
- 服务发现
- 认证方式
- 流量管理和路由
- 断路器和故障转移
- 安全管理
- 指标收集和监控
- 故障注入
与传统微服务框架相比,服务网格通过Sidecar模式,将业务与治理解耦,微服务治理能力下沉至运维层,降低开发难度,在架构上更容易实现层次化、规范化、体系化。
目前,Istio是服务网格领域最流行的开源项目,天然支持Kubernetes,针对现有的服务网格,提供一种简单的方式,将连接、安全、控制和观测的模块与应用程序或服务隔离开来,让开发团队将精力集中在业务开发与创新上。
SolarMesh
为帮助企业在纷繁复杂的微服务调度中快速定位问题,增强研发效率,行云创新基于Istio构建了高效可视化微服务治理平台——SolarMesh,为集群服务提供非入侵式的服务治理能力,涵盖流量可视化、流量控制、链路追踪和通信加密认证等治理功能,开箱即用。
SolarMesh通过流量灰度可让版本更新平滑过渡,降低版本升级风险;同时拥有完备的服务治理能力,为云原生应用提供更多流程层面的保障。