作者:王建伟(正己)
MSE Nacos 是阿里云推出的托管式注册配置中心。它基于阿里云开源产品 Nacos 构建,100% 兼容开源协议,同时在稳定性、安全性、性能、易用性等方面做了增强。不久前,我们发布了 MSE Nacos 2.3.2.0 版本,在性能、安全性方面大幅升级。
01 性能最多是开源自建 3 倍,平均 2 倍
性能是分布式系统的一个重要指标。一个系统性能越强,表示它能提供更高的吞吐、更低的时延,也意味着它能承载更多的业务。在性能提升方面,我们主要做了以下几个方面的工作。
1. 优化 gRPC 推送,性能是自建 3 倍
gRPC 推送是 Nacos2.x 版本之后服务端和客户端的主要通信方式。某个服务或配置项发生变更时,服务端会通过 gRPC 长连接主动把最新结果推送给客户端,大大提升了订阅者感知变化的速度。为进一步提升 MSE Nacos 推送性能,我们内部做了大量压测,找到性能热点,重点对推送序列化逻辑及 gRPC 推送通道相关逻辑做了大量优化。优化效果非常明显,MSE Nacos 2.3.2.0 版本较开源自建版本推送性能提升了 2 倍以上。
2. 代码重构及 JVM 深度调优,整体性能是自建2倍
除 gRPC 推送相关的优化之外,在性能压测的基础上我们还全面审查了代码,重构了性能消耗较大的模块,如限流、鉴权等模块。此外,核心接口的优化也是本次性能提升的一项重要内容。
在代码层面优化之外,MSE Nacos 在 JVM 层面也进行了升级和优化。Alibaba Dragonwell 是一款免费的,多平台生产就绪型 OpenJDK 发行版,提供长期支持,包括稳定性,安全修复和性能增强。我们结合 MSE Nacos 的场景,与 Dragonwell 团队一起深度调优 MSE Nacos 的 JVM 运行环境,大幅提升了 MSE Nacos 的整体性能。
通过上述优化措施,MSE Nacos 的核心接口性能比开源自建 Nacos 提升了一倍左右。
3. 性能测试数据对比
经过上述优化后,我们对 MSE Nacos 2.3.2 和对应版本开源 Nacos 做了对比压测。压测结果显示,在相同规格下(2C4GB),MSE Nacos 的核心接口性能较开源 Nacos 均有大幅提升,其中变更推送能力是自建 3 倍,整体性能是自建约 2 倍。
02 安全性大幅提升:变更人清晰、操作审计方便,安全算法升级
除了性能大幅提升之外,MSE Nacos2.3.2.0 版本在安全性方面也持续增强,支持了更多场景下配置变更人审计、阿里云操作审计和 V4 签名。
1. 配置变更人审计
相比旧版本,最新版 MSE Nacos 增加了对 Nacos Client 和 Open API 的配置变更人审计。
- Nacos Client:在开启鉴权的情况下,MSE Nacos 记录 Nacos client 配置变更操作关联的 UID。如果未开启鉴权,MSE Nacos 记录 Nacos client 配置变更操作关联的 IP 地址。
- OpenAPI:配置变更相关的 OpenAPI 增加了 srcUser 参数,用于记录操作人信息,示例如下,其他 API 操作请参考官方文档[1]。
curl -d 'dataId=nacos.test' \ -d 'group=DEFAULT_GROUP' \ -d 'namespaceId=public' \ -d 'content=contentTest' \ -d 'srcUser=testUser' \ -X POST "http://$MSE_NACOS_DOMAIN_NAME:8848/nacos/v2/cs/config"
配置变更后,可以在对应配置的历史版本中查看操作人。
2. 支持阿里云操作审计[2],追踪变化,更安全
除了配置变更人审计,MSE Nacos 2.3.2.0 版本引擎还支持了阿里云操作审计,可以记录引擎所有功能的使用行为。您可以将这些行为事件下载或保存到日志服务 SLS 或对象存储 OSS,然后进行行为分析、安全分析、资源变更行为追踪和行为合规性审计等操作。接入操作审计之后,您可以看到每个服务或配置的变更或查询记录,及时发现异常行为,提升业务安全性。
3. 支持 V4 签名算法
MSE Nacos 2.3.2.0 新增支持 V4 签名算法。V4 签名提供了一种新的身份认证方式,安全性更强。它是由阿里云账号或者 RAM 用户的 AccessKey Secret、日期、地域和产品码四个信息通过一定方式计算得到的字符串。使用 V4 签名后,如果某一个 V4 签名被窃取,则该账号下其他地域、其他产品不会受到影响,并且被窃取的 V4 签名有效期不超过一天,因此使用 V4 签名可以保证用户的账号密钥安全。
03 MSE Nacos 2.3.2.0 正式发布
综上所述,MSE Nacos 2.3.2.0 版本在性能和安全性上有了大幅提升。在性能方面,通过 gRPC 推送优化、核心接口优化、JVM 深度调优等技术手段,MSE Nacos 性能相比开源自建提升了 1 倍以上,最高 2 倍。在安全性方面,MSE Nacos 新增支持了配置变更人审计、操作审计、V4 签名算法,进一步保障数据安全。目前 MSE Nacos 2.3.2.0 已正式发布,欢迎大家到官网[3]购买或升级最新版本。
相关链接:
[1] 官方文档
https://nacos.io/docs/v2.3/guide/user/open-api/
[2] 操作审计
https://help.aliyun.com/zh/actiontrail/product-overview/what-is-actiontrail
[3] 官网