一、前言

2023年,Sermant踊跃沉闷在开源社区的各个角落,您兴许在开源峰会、在大学校园、在线上直播、在开源社区的博客中看到过咱们的身影,兴许您的我的项目曾经在生产环境上曾经接入了Sermant。如果您还不理解Sermant,当初在浏览器搜寻框输出JavaAgent和服务治理,能够看到排名靠前的都是与Sermant相干的搜寻后果,因为咱们已深耕这片畛域。

Sermant是基于Java字节码加强技术的云原生无代理服务网格,2022年底,咱们在社区正式公布了1.0版本,宣告Sermant首个稳固的正式版本的面世。咱们以非侵入式地为业务利用提供服务治理性能为出发点,建设了Sermant我的项目的雏形。从开发效率、用户敌对等角度,咱们始终在构建和优化我的项目的框架和机制。1.0版本后的Sermant曾经具备了非侵入、高性能、插件化的外围劣势,并且开源生态中曾经提供了服务注册、标签路由、流量管制等插件能力来利用于典型的服务治理场景。同样在2022年底,Sermant 官网 也正式上线,以让开发者和用户更好地理解、应用、开发Sermant为指标,详尽地提供了Sermant的疾速入门、用户使用手册、开发者指南、博客分享等内容。另外,咱们还退出了CNCF LANDSCAPE ,在云原生Service Mesh畛域占据了一席之地。

2022年底是Sermant种下的种子刚刚发芽的阶段。2023年,Sermant在技术能力构建、开源生态构建、开源可信能力构建等方面减速投入,开始横蛮成长。

二、技术能力构建

在公布1.0版本之后,Sermant始终放弃了较高的我的项目活跃度。2023年,Sermant公布了1.1、1.2、1.3三个大版本和若干个补丁版本,从框架类隔离机制、动静插拔Agent和插件、动静配置对接Nacos、服务和Agent的可观测性、流量治理能力、服务可用性治理能力等方面做了大幅的更新或加强。咱们心愿通过一直地版本更新迭代,将Sermant打造成一个易用性好、兼容性强、扩展性高、性能优良的一个开源我的项目,为社区带来极致的服务治理体验。

图 – Sermant最新1.3.0版本 Release Note

2.1 可观测性能力晋升

2023年,Sermant在对本身的可观测性上失去了重要的晋升,尤其是边车自观测能力以及字节码加强的观测能力。

2.1.1 Sermant自观测能力

针对可观测性,咱们建设了对Sermant运行状态及服务治理能力状态的监控机制,用户可能更直观,更清晰的看到Sermant进行服务治理的过程,可用于疾速理解Sermant运行状态及以后已失效的服务治理能力,使服务治理有迹可循。用户通过拜访Backend,可在前端页面间接看到Sermant运行状态,服务治理能力触发的事件以及Sermant服务运行期间产生的正告、谬误等日志信息。 Sermant的自观测能力解决了JavaAgent难以运维察看的问题,对应用Sermant来进行微服务治理的用户来说很好的实现了Agent的治理。

![上传中...]()

图 – Sermant Backend页面展现Agent上报的信息

2.1.2 字节码加强成果的观测能力

另外,因为Sermant是基于字节码加强技术来实现的,咱们在字节码加强的可观测性上也做了晋升。第一种形式属于动态配置,启动宿主利用前,能够在配置文件中开启字节码加强日志打印的开关以及输入字节码加强后的class文件,能够直观地对加强后的类进行查看。第二种形式属于动静查看字节码加强信息,咱们在Sermant启动实现后,运行官网提供的AgentLoader,并传入参数下发查问加强信息的指令command=CHECK_ENHANCEMENT,即可在日志中查看到Sermant已执行的加强信息,包含挂载了哪些插件和加强了哪些类的办法。

2.2 框架能力晋升

在框架能力方面,2023年Sermant不仅全面优化了类隔离机制,也正式反对了Agent和插件的动静热插拔能力,对于实用宽泛的配置核心Nacos也实现了反对。

2.2.1 热插拔能力

Sermant最新版本目前反对premain和agentmain两种形式启动。agentmain启动形式能够反对Agent和插件的热部署形式,在故障注入等场景中能够在服务不停机状态下能够实现屡次动静注入和移除各类故障。另外,Sermant的插件也反对动静挂载和卸载。

下图为Sermant的热插拔能力的示意图,在初始状态能够通过动静挂载Agent的能力装置字节码加强框架,而后能够通过动静挂载/卸载插件的能力在运行态增减所需服务治理能力,也能够间接将整个Agent进行卸载。

图 – Sermant的热插拔机制

2.2.2 配置核心反对Nacos

动静配置核心为Sermant动静配置服务的配套组件,动静配置服务容许Sermant从动静配置核心拉取配置以实现丰盛多样的服务治理能力。以往版本Sermant的反对的动静配置核心有Zookeeper和Kie,新版本适配了Nacos的数据模型,反对从Nacos下发配置并监听。动静配置核心在Sermant中的角色和作用能够浏览相干博客《如何利用动静配置核心在JavaAgent中实现微服务的多样化治理》。

2.2.3 更好的类隔离能力

Sermant在1.2.0版本中对此前的类隔离框架和机制做了全面的优化,不仅保障了不向宿主服务引入类抵触问题,防止在开箱即用时对宿主服务造成负面影响,同时也了保障框架与插件、插件与插件之间不会引入类抵触问题,防止插件开发者因为和其余服务治理插件产生类抵触问题而苦恼。经验屡次迭代,现在Sermant的类隔离架构已能够轻松的应答各种简单的类加载环境。更具体的类隔离机制的介绍能够参阅相干博客《Sermant类隔离架构解析——解决JavaAgent场景类抵触的实际》。

2.3 服务治理能力晋升

在插件层面,2023年咱们对现有插件做了不少优化,例如流控插件引入基于零碎规定的流控能力以及基于负载的自适应流控能力;在标签路由插件对路由规定模型进行了对立和以及减少了链路染色能力。另外,Sermant还新增了流量标签透传插件、音讯队列禁止生产插件、离群实例摘除插件等,利用于服务治理的各个典型场景。各插件的介绍能够参考官网的[](https://sermant.io/zh/document/plugin)插件使用手册。

三、客户案例

Sermant起源于华为云,目前在华为云外部的泛滥云服务中失去了宽泛的利用。

在微服务引擎CSE中,基于Sermant实现了非侵入接入服务注册发现、全链路灰度等性能,实现其余云厂商到华为云的微服务搬迁。该场景下用户在不批改业务代码的前提下,实现了搬迁工作,极大地升高了开发和运维老本。

在华为云混沌工程畛域中,实现了基于Sermant的故障注入、流量录制回放等能力。这是Sermant动静热插拔能力的典型实用场景。开发和运维人员能够在利用运行的过程中利用热插拔能力将包装了不同故障模式的插件热加载至业务过程中,以测试零碎的可靠性和稳定性。动静卸载能力的反对也使得咱们能够在一次运行测试中屡次注入各种故障。

在华为云CPTS云服务中,基于Sermant框架开发的全链路压测能力构建了零业务代码侵入的性能压测一体化平台的能力。不仅实现了流量染色的标记和传递,还反对内部服务mock转发、影子库、压测流量接入的对立管制等性能,为全链路压测平台提供了外围的根底能力。

此外,不少产品也曾经实现了将现有的SDK能力向Agent能力做迁徙,为服务治理性能提供了新的非侵入一键接入的抉择。

2023年Sermant在泛滥开源生态用户的实在场景中也实现了落地。某私域电商用户基于Sermant开源框架自研了若干插件,在监控、故障演练等场景中利用于600+生产环境实例中。某网约车平台在架构优化上,引入Sermant进行革新,实现服务的主动发现和API治理能力,从零散治理到对立管控,提供对立的微服务注册和治理核心。某汽车畛域用户应用Sermant开源仓库的服务注册插件实现了200+实例以零业务代码批改的形式从A云无损迁徙到B云。将来还有一些开源生态用户将基于Sermant将SDK能力逐渐向Agent革新,将服务治理能力对立收编至One Agent。这些例子充分证明Sermant在JavaAgent服务治理畛域能无效的为企业用户缩小服务治理能力的接入老本以及微服务架构的革新老本,并且企业用户还可自定义开发插件适配本身场景,将服务治理性能的粒度细化到插件中,按需引入相互隔离。

如果您也是Sermant的生态用户,欢迎您在咱们Github仓库的 issue中注销您的应用状况,一起打造凋敝的 Sermant 社区生态。咱们不仅会为您提供疾速反对和响应,建设专属反对渠道,帮忙您更高效地施行和落地 Sermant我的项目,也会依据公司的应用状况造成丰盛的 Sermant 案例库,帮忙企业进行落地实际宣传。

四、开源社区建设

4.1 线下会议和流动

2023年5月底GOTC寰球开源技术峰会上,Sermant作为新锐我的项目首次在此类开源大会流动中亮相,在现场开设了流动展台并在峰会举办期间发表了快闪演讲,吸引许多开发者在Sermant展台和演讲台下围观。尔后,Sermant越来越频繁地在参加了各个线下开源交换会议及流动。例如,在国内开源畛域有着重要影响力的凋谢原子基金会举办的OAGS凋谢原子寰球开源峰会、ICT畛域的华为开发者大会、云原生畛域的顶级国内开源会议KubeCon China、汇聚泛滥开源大咖的CosCon中国开源年会等。咱们历经中国的东南西北方向,在北京、上海、成都、东莞停办开源展台和在分论坛分享议题,面对面地和宽广开发者进行线下交换,扩充了Sermant在开源、云原生、微服务治理、服务网格畛域的生态影响力。

图 – 中国开源年会Sermant展台现场

4.2 线上直播和视频公布

2023年,Sermant借助华为云开发者联盟DTSE TechTalk直播平台,实现了屡次在线技术交换直播,以面对面的形式和关注Sermant的开发者进行交换互动,遍及了Sermant为微服务治理畛域带来的价值,在线答复了不少开发者关怀的技术问题。直播流动吸引了数万开发者的围观,拉进了和社区开源开发者的间隔。

此外,Sermant 创立并经营了Bilibili视频网站账号 ,不仅公布了首支Sermant我的项目宣传视频和以往开源峰会参会的演讲视频,也自制了性能演示系列视频,以普通用户的视角率领大家体验如何把Sermant利用在具体的治理场景中。该视频账号将继续为大家带来更多的Sermant动静,第一工夫和开发者们分享Sermant的流动和技术相干视频,敬请期待。

4.3 可信开源我的项目认证

开源可信是Sermant重点关注的方面,特地在软件安全性上,每个版本公布前都会进行安全漏洞扫描并解决扫描问题。

2023年底,Sermant参加了中国信通院主导的开源可信认证测试。在开源我的项目的许可证合规性、软件安全性、软件活跃度、技术成熟度、服务支持力、软件兼容性六个方面Sermant都通过了认证,信通院为Sermant颁发了可信开源社区成熟度能力检验证书,也是对咱们在开源可信方面投入的认可。

图 – Sermant支付可信开源我的项目认证证书现场

信通院开源可信认证相干新闻动态—— 《中国信通院公布2023可信开源系列评估后果》

五、写在最初

开源代表了凋谢和共享,2023年Sermant踊跃拥抱社区,以各种形式为大家传递咱们的开源理念和技术积攒。Sermant开源社区每一个人的付出才铸就了当初稳固的框架底座能力、丰盛的服务治理能力以及越来越凋谢和凋敝的社区生态。将来咱们将持续把Sermant打造成更易用、性能更好、能力更强的开源我的项目,也真诚地欢送越来越多的开发者和用户退出到咱们的行列!


Sermant作为专一于服务治理畛域的字节码加强框架,致力于提供高性能、可扩大、易接入、功能丰富的服务治理体验,并会在每个版本中做好性能、性能、体验的看护,宽泛欢送大家的退出。

Sermant 官网:https://sermant.io

GitHub 仓库地址:https://github.com/huaweicloud/Sermant

扫码退出 Sermant 社区交换群