云原生微服务的下一站:Proxyless Service Mesh

本文分享自华为云社区《DTSE Tech Talk | 第46期:云原生微服务的下一站:Proxyless Service Mesh》,作者:华为云社区精选。

本期直播主题是《云原生微服务的下一站:Proxyless Service Mesh》,华为云云原生DTSE技术布道师、华为云技术规划专家,Sermant开源社区创始人杨奕以及华为云云原生DTSE技术布道师、Sermant社区PMC李来,和开发者一起交流了微服务架构演进历程、新一代的新一代云原生无代理服务网格Sermant如何解决以往架构的痛点以及实操演示如何改造升级微服务架构。

微服务架构各自的痛点

在微服务的概念出现之前分布式业务的改造最早是通过传统的SOA(面向服务)架构来进行的。SOA架构一般会部署集中式的Load Balancer或者中心网关。它的优点是架构简单,但是性能低下,可扩展性差。

此后微服务SDK架构开始流行起来,例如Dubbo和Spring Cloud,主要是通过业务应用中引入SDK来实现服务注册发现、限流降级、全链路灰度等服务治理能力。这种架构的性能卓越,功能丰富,但应用改造成本高,升级困难。

近年来较为流行的微服务架构是Service Mesh 边车架构,它通过在微服务旁边挂载一个单独sidecar进程,去接管各种服务治理能力。Service Mesh架构的特点是应用改造成本低,可以解决多语言问题,但是资源消耗高,性能低下。

Sermant是什么

Sermant是面向Java微服务的新型云原生Proxyless Service Mesh方案,它结合了上述三种微服务架构的优势,并且解决了它们的痛点问题,既有SDK架构的高性能、多功能的好处,又有边车架构的零侵入优势, 而且还能一键接入。

Sermant核心原理是利用字节码增强为宿主应用程序提供插件化的服务治理功能,并且提供动态配置用于调整运行时服务治理功能。此外,配套的Backend组件也使得Sermant具有边车自身运行时的可观测能力。

Sermant的核心架构优势

Sermant的Proxyless Service Mesh架构具有高性能、插件化、非侵入的特点。

  • 高性能

Sermant利用了Java的字节码增强能力,实现方式是面向AOP的服务治理能力注入。相对于Istio这种sidecar架构来说,无独立进程开销,性能提升明显。

  • 插件化

Sermant框架底座封装了字节码增强的SPI接口,提供了动态配置、事件上报等能力,基于这个底座的插件开发基础,Sermant提供了完善和便利的开发生态,把所有的服务治理功能插件化。目前开源仓库中的插件已经有了限流降级、灰度发布、优雅上下线等能力

另外,各个插件之间、插件和业务之间做到了类隔离,不但使得治理能力解耦,也避免了和业务应用之间的类冲突问题。Sermant完善的类隔离机制使得插件可以轻松地实现热插拔,在故障注入等场景以及插件升级时无需中断应用即可将插件动态注入到业务应用进程中。

  • 非侵入

Sermant是基于JavaAgent实现的,利用字节码增强的能力,Sermant不需要修改业务应用的源代码,在运行时可以动态修改目标类的字节码,对于业务应用的开发者来说是无感知的。

在虚机场景,开发和运维人员只需在java -jar启动应用程序的命令前,添加一段-javaagent的启动参数指定Sermant的jar包的路径就可以让应用在运行时挂载Sermant。

在容器场景,在部署了sermant-injector组件后,创建容器时只需在Deployment中添加一行sermant-injection:enabled的Label就能在创建Pod时让业务应用挂载Sermant启动,真正做到一键接入。

Sermant在微服务治理中的应用

  • 微服务架构改造

传统的SOA/ESB架构做改造升级一般为两种:引入微服务SDK对海量的微服务做全量改造;引入传统的sidecar架构,对微服务做少量改造。前者的改造量巨大,各业务部门之间难以协同推进;后者工作量较少,但是性能和运维问题仍存在隐患。

Sermant的改造方式对应用非侵入,周期短,并且支持灰度改造,在不影响业务稳定的前提下,可以逐步实现架构的整体升级。

▲ 微服务架构改造

  • 全链路灰度发布

Sermant的流量染色、流量标签透传、标签路由能力使得Sermant具备了完整的全链灰度发布的能力。并且染色、透传、路由规则都支持动态配置,让全链灰度发布可以按照实际场景的需求来进行开关或调整治理规则。

点击关注,第一时间了解华为云新鲜技术~

相关推荐
Fate_I_C12 小时前
Capacitor 插件鸿蒙化实战:@capacitor/device 从安装到模拟器验证全记录
华为·harmonyos
紫神16 小时前
DDS 通信技术说明
网络·云原生·容器·k8s·dds·弱网
weixin_4352470616 小时前
医疗科研“Agent化”:给研究型医院搭AI原生科研平台的3个架构取舍
云原生
2501_9197490317 小时前
华为鸿蒙免费记账与生活统计APP—小羊统计
华为·生活·harmonyos·鸿蒙
Fate_I_C17 小时前
Capacitor 应用鸿蒙化实战:用 hionic 把 React 应用跑在 OpenHarmony 上
react.js·华为·harmonyos
SuperHeroWu717 小时前
华为云码道接入 DevEco CLI 鸿蒙应用开发AICoding
华为·华为云·harmonyos
ChinaDragonDreamer18 小时前
HarmonyOS:User Authentication Kit简介
华为·harmonyos
m0_7381858219 小时前
Flutter 鸿蒙化实战:qrcode_flutter 适配 OpenHarmony,二维码生成与识别
数码相机·flutter·华为·harmonyos·鸿蒙
万物智能信息科技19 小时前
血氧心跳传感器MAX30100芯片驱动开发—【万物智能之开源鸿蒙OpenHarmony系统实战开发系列教程】
人工智能·驱动开发·华为·开源·harmonyos·鸿蒙
老陈说编程19 小时前
1. 鸿蒙 (HarmonyOS) 2012 至 2026 年的发展历程
分布式·华为·个人开发·harmonyos·鸿蒙·鸿蒙系统·程序员创富