首页 > 其他分享 >云原生微服务的下一站:Proxyless Service Mesh

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

时间:2023-11-03 14:48:56浏览次数:39  
标签:插件 服务 Service Mesh 架构 Proxyless Sermant

本文分享自华为云社区《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具备了完整的全链灰度发布的能力。并且染色、透传、路由规则都支持动态配置,让全链灰度发布可以按照实际场景的需求来进行开关或调整治理规则。

 

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

标签:插件,服务,Service,Mesh,架构,Proxyless,Sermant
From: https://www.cnblogs.com/huaweiyun/p/17807531.html

相关文章

  • Lightsail CDN 现已对 Lightsail Container Services 作为来源进行支持
    AmazonLightsail 现在通过将LightsailCDN与您的LightsailContainerServices结合使用,为您提供了优化向全球受众交付容器化应用程序的功能。只需从Lightail控制台点击几下,Lightail容器就可以配置为LightsailCDN分配的来源。亚马逊云科技开发者社区为开发者们提供全......
  • startservice 返回5
    返回值返回以下列表中列出的值之一,或指示错误的任何其他值。有关其他错误代码,请参阅 WMI错误常量 或 WbemErrorEnum。有关常规 HRESULT 值,请参阅 系统错误代码。0已接受该请求。1不支持该请求。2用户没有必要的访问权限。3由于其他正在运行的服务依赖......
  • startservice nc 2
    现这种情况一般是因为驱动路径发生改变了,注册表中存储了旧路径,因此找不到驱动。解决方法是删除注册表中这个位置下这个驱动的项:HKLM\SYSTEM\CurrentControlSet\Service\1驱动都会在这里创建一个键,把对应的那个驱动的键删掉,重启机器即可。......
  • 通过 TCPView 还发现个流氓 KPKIService.exe 删掉
    叫统一安全中间件,就是个第三方做的key的安全检查,谁知道是哪年装的资料https://baijiahao.baidu.com/s?id=1717384219148345375&wfr=spider&for=pc---------------------------------------------生活的意义就是你自己知道你要做什么,明确目标。没有目标,后面都是瞎扯!https://p......
  • 花了两年时间手搓的物联MESH组网(个人免费使用)
    支持MCU型号:ESP8266&ESP32存储要求:大于或等于1Mbyte(8Mbit)意义:填补8266上WiFiMesh空缺一个域支持节点数量:理论上是255个特点:使用较少资源实现TCP后端可靠传输,可以单播,也可以广播可以中继,自愈合,即插即用通信全异步设计彻底无中心化,节点真正对等实现基于M......
  • gitlab--services、environment、inherit
    servicesservices 关键字定义了一个Docker镜像,该镜像在链接到image关键字定义的Docker镜像的 job 期间运行。这允许您在构建期间访问服务镜像。服务镜像可以运行任何应用程序,但最常见的用例是运行数据库容器,例如:MySQLPostgreSQLRedis例如,每次构建项目时,使用现有镜像并将其......
  • 【Azure Service Fabric】关于Service Fabric的相关问题
    问题一:ServiceFabric是否支持PrivateLink?在AzurePrivateEndpoint文档中,罗列出了Azure上支持PrivateLink的服务。ServiceFabric不在其中。AzurePrivateLinkavailability:https://learn.microsoft.com/en-us/azure/private-link/availability 问题二:是否可以Disable......
  • 【Azure App Service】为部署在App Service上的PHP应用开启JIT编译器
    问题描述在AppServiceforlinux上创建一个PHP应用,通过phpinfo()查看PHP的扩展设置,发现JIT没有被开启, jit_buffer_size大小为0.那么,在AppService的环境中,如何开启JIT呢? 问题解答PHP8在PHP的内核中添加了JIT编译器,可以极大地提高性能。首先,仅在启用opcache的情况下,JIT才有效......
  • 国产蓝牙PHY6222支持BLE5.2参数特性介绍支持MESH/透传/定位
    特性:封装;QFN32工作电压范围1.8v至3.6v嵌入式buckdc-dc和ldos电池监视器关断电流0.3uA睡眠电流1uA4.7mA的接受电流为3.3V4.7mA的0db的发射功率为3.3vMCU:<60uA/MHz支持ble2mbps协议BLE5.1可兼容BLE5.0支持mash组网传输速率-90dBm125khz传输速率-103dBm温度:-40℃~125......
  • Please take a look at the provided example service unit files in this directory,
    安装Redis,执行install_server.s脚本时,出现如下报错: 解决方案,注释掉install_server.sh中的部分代码,注释代码详情如下: 再次执行install_server.sh脚本,结果如下: ......