其他
Dubbo 3.0 前瞻系列:服务发现支持百万集群,带来可伸缩微服务架构
本文是一篇关于 Dubbo 地址推送性能的压测文章,我们期望通过对比的方式展现 Dubbo3 在性能方面的提升,尤其是新引入的应用级地址模型。但要注意,这并不是官方正式版本的性能参考基线,并且由于环境和时间原因,部分对比数据我们并没有采集,但只要记住我们只是在定性的检测阶段成果,这些限制总体上并不会有太大影响。
摘要
基于接口级地址发现模型,Dubbo3 与 Dubbo2 对比,有超过 50% 常驻内存下降,Full GC 间隔更是明显拉长。
Dubbo3 新引入的应用级服务发现模型,可以进一步实现在资源占用方面的大幅下降,常驻内存比 Dubbo3 接口级地址进一步下降 40%,应用实例扩缩容场景增量内存分配基本为零,相同周期内(1 小时) Full GC 减少为 2 次。
背景介绍
1. 下一代服务框架 Dubbo 3.0 简介
2. Dubbo 不同版本在地址推送链路上的性能压测与对比
压测环境与方法
压测数据
压测环境
压测方法
优化结果分析与对比
1. GC 耗时与分布
Dubbo2 接口级地址模型
2. 增量内存分配情况
3. OLD 区与常驻内存
Dubbo3 接口级模型
4. Consumer 负载
Dubbo3 接口级模型
详细对比与分析
1. Dubbo2 接口模型 VS Dubbo3 接口模型
2. Dubbo3 接口模型 VS Dubbo3 应用模型
应用进程上下线场景,增量内存增长很小 (接口级的 MetadataData 基本得到完全复用,新增部分仅来自新扩容机器或部分服务的配置变更)。
常驻内存相比 Dubbo3 接口级又下降了近 40%,维持在 900M 左右。
总结