04 月 24 日,由 SOFAStack 开源社区主办的“ SOFA 开源三周年,Let's have fun together! ”活动于北京成功举办。 数百位 SOFAStack 社区的开发者们共同庆祝,分享社区的点点滴滴。活动邀请 时速云 CTO 王磊参 与此次活动,并以“服务网格在企业落地的典型场景与实践”为题进行分享。
01
服务网格驱动企业创新
当前,许多企业正在进行微服务改造,微服务架构能够使每一个微服务独立开发、部署、升级,进行弹性伸缩,使得应用的升级在局部完成迭代更新,不会对整体应用造成影响,这是微服务的魅力所在。但是,微服务改造在带来便利的同时也带来许多新问题,例如:微服务数量的增多使架构更加复杂;服务故障时如何快速排查、定位故障点;服务拆分后跨网络、跨系统甚至跨数据中心调用带来的安全问题等。在这一背景下,服务网格应运而生。
企业希望利用服务网格技术解决环境复杂、交叉以及内部服务调用的安全问题,拥有统一的服务治理能力、对企业内部业务系统状态的观测能力、服务灰度发布能力,同时希望解决迁移到网络对已有系统造成的影响,降低服务治理带来的应用开发成本等。
服务网格本质上是一张负责微服务之间通信的网络,它本身不与应用代码耦合,而且还能捕获到底层环境的动态变化并作出调整。服务网格的核心功能是解决服务间通信及治理的问题,主要有三类:
流量管控、服务访问安全控制以及服务可观察性。重要的应用场景有:在流量洪峰时用于保护服务的限流、熔断、降级等功能;
在发布新服务版本时的灰度发布;
用于系统运行状态观察与排查故障原因的全链路监控,监控的内容包括运行指标、日志和调用链等,可以让用户全方位的了解系统的运行状态。
王磊介绍,服务网格主要的创新点在于服务治理能力与业务开发的解耦,使开发人员更专注在业务开发与创新上。同时,这种无侵入的治理模式,允许应用开发者选择最合适的语言;而将服务治理能力下沉到基础设施,可以把这种专业的事情交给专业人员去做,治理能力的迭代更新也可以不依赖于业务,更有助于双向的驱动创新。
目前主流的服务网格技术更适用运行在 Kubernetes 上的微服务应用,但经过一定改造也可以接管传统非容器化部署的应用,主要用于以非侵入的方式对服务提供治理能力。如果业务应用已经使用了 Spring Cloud、Dubbo 等微服务治理框架,通过产品提供的解决方案,也可以很好的同服务网格融合,并减少了业务应用对服务治理 SDK 的依赖。使用服务网格技术可以在平台层对服务提供服务治理能力,理想情况下,对服务是无感知的,所以对业务应用方向、架构等的影响是业务应用不再需要考虑服务间通信的流量控制、安全和可观察性等方面的问题。
02
服务网格在企业内的应用
服务网格技术与基于 Kubernetes 的容器化 PaaS 平台技术有很大的依赖关系。目前 Kubernetes 已经非常成熟,大量企业的生产系统运行在 Kubernetes 上,这为服务网格技术的普及创造了很好的条件。时速云是最早将服务网格技术应用到头部企业客户核心系统的厂商之一,拥有丰富的落地经验。时速云基于服务网格技术打造的服务治理平台( TDSF)具有以下能力:
具备企业统一的注册中心能力,支持 Spring Cloud、Dubbo 等多种微服务开发框架的接入,支持多集群、多租户、多项目以及分组的服务发现与注册,满足企业内环境复杂、交叉的管理问题;
通过将 APM agent 自动注入到容器、虚拟机服务的方式,实现基于 APM 的全链路监控能力,支持集群、租户、项目多个维度的链路隔离及授权范围内的链路查看;调用链引入服务版本,将服务灰度发布及调用情况进行可视化展示;支持中间件访问性能监控;结合业务埋点数据,提供链路跟踪及日志查询能力;
以向导的方式接入虚拟机服务,并允许一个 sidecar 对虚拟机上的多个服务进行治理,比如 WAS、Weblogic 等传统中间件上部署多个服务的网格接入;
通过 EnvoyFilter 对 istio 控制面进行标准扩展,避免直接修改 CRD 带来的兼容性问题;通过 xDS 向 envoy 或者 mosn 的 sidecar 下发配置,在 Envoy 上通过 WASM filter 实现对扩展配置的使用,在 mosn 上通过 convertxds 进行扩展配置的使用,实现多数据面并存;
为了避免过大 xDS 配置的下发,通过相关 istio CRD 的 exportTo 配置以及 Sidecar CRD 的配置来限制配置下发范围,大幅降低配置下发带来的网络流量;
同时,基于 mosn 也实现了结合实际业务需求的治理能力,包括多接口、多协议的统一限流,HTTP/Dubbo 的灰度发布、路由,熔断降级,mTLS/RBAC,扩展指标的采集及告警,各种负载均衡算法及会话保持,故障模拟等;
为了方便问题定位及调试,使 mosn 适配 istio 的 config dump 及 istioctl 相关命令工具;
通过 MCP 及扩展实现多种注册中心的平滑接入,包括 Zookeeper、Eureka、Nacos 等。
王磊表示,具备生产环境上线的能力是服务网格的核心竞争力。时速云服务治理平台( TDSF)在金融领域的企业客户中得到了很好的应用。以大家保险为例,根据集团整体发展需求,时速云基于服务网格技术,整合先进的技术设计理念,对大家保险核心系统进行全面服务治理改造,打造了高度稳定的数字化管理平台。
平台上线后,先后对接了大家保险多个核心业务系统,实现了传统 Web Service 服务,Spring Cloud 微服务,Dubbo 微服务等多种服务框架,以及传统虚拟机部署和容器化部署等多种部署形态服务的统一注册、发现与治理。在首季营销中分布式服务框架经受了流量洪峰的考验,通过全链路拓扑告警与监控,熔断、限流与降级等技术保障了业务服务的稳定运行与高可用。
未来,时速云服务治理平台(TDSF)将会服务更多的企业客户,同时也会将各项能力陆续回馈到开源社区,希望服务网格技术能够得到更好的应用与发展。
本文分享自微信公众号 - 金融级分布式架构(Antfin_SOFA)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。