平安健康 Dubbo 3 升级、迁移和验证之路

本文介绍了平安健康在使用 Dubbo 作为微服务框架多年后,逐步迁移到 Dubbo 3 的过程。文章详细探讨了Dubbo 3 的核心功能,如应用级服务发现、Triple 协议和云原生流量治理,以及社区对 Dubbo 3 的期望。在升级和迁移过程中,团队进行了性能压测,并设计了平滑迁移方案,包括兼容 Dubbo 2 定制版本、扩展功能以及风险管理。目前项目仍在进行中,团队正与社区紧密合作,解决遇到的问题。
摘要由CSDN通过智能技术生成

作者:李斌、邱炜

背景

我们公司从 2015 年开始就使⽤ Dubbo 作为微服务框架,当社区推出 Dubbo 3 时,我们也⽴刻跟进并做了深⼊调研,发现 Dubbo 3 的应⽤/实例级服务注册和发现模式能够在一定程度上解决我们当前注册中⼼⾯临的压⼒,解决稳定性和安全性问题。同时 Dubbo 3 在服务治理上也做了升级,契合云原⽣架构,⽽且 Dubbo 3 能够向下兼容 Dubbo 2,这也将降低升级的成本和⻛险。

升级项目有了阶段性的进展,目前仍然在进行中。通过本⽂,我们对公司内部的 Dubbo 3 升级过程及收益等做了深⼊总结。

社区关于 Dubbo 3 的核心功能介绍

Dubbo 社区关于 Dubbo 3 的文档和资料越来越完善,以下是我们从社区引用的一些内容。

下一代云原生服务框架

在这里插入图片描述

Dubbo 3 被社区寄予厚望,将其视为下一代云原生服务框架打造,Dubbo 3 提供的核心特性列表,主要包括四部分。

  1. 全新服务发现模型。应用粒度服务发现,面向云原生设计,适配基础设施与异构系统;性能与集群伸缩性大幅提升。

  2. 下一代 RPC 协议 Triple。基于 HTTP/2 的 Triple 协议,兼容 gRPC;网关穿透性强、多语言友好、支持 Reactive Stream。

  3. 统一流量治理模型。面向云原生流量治理,SDK、Mesh、VM、Container 等统一治理规则;能够支持更丰富的流量治理场景。

  4. Service Mesh。在最新的3.1.0的版本中支持Sidecar Mesh 与 Proxyless Mesh,提供更多架构选择,降低迁移、落地成本。

在这里插入图片描述

首先是性能、资源利用率的提升。社区资料显示,升级 Dubbo 3 的应用预期能实现单机内存 50% 的下降,对于越大规模的集群效果将越明显,Dubbo 3 从架构上支持百万实例级别的集群横向扩展,同时依赖应用级服务发现、Triple 协议等可以大大提供应用的服务治理效率和吞吐量。

其次,Dubbo 3 让业务架构升级变得更容易、更合理,尤其是 RPC 协议,在 2.x 版本中,web、移动端与后端的通信都要经过网关代理,完成协议转换、类型映射等工作,Dubbo 3 的 Triple 协议让这些变得更容易与自然;并通过流式通信模型满足更多的使用场景。

最后,得益于 Dubbo 3 的完善云原生解决方案,Dubbo 3 的 Mesh 架构可以帮助业务屏蔽底层云原生基础设施细节,让业务更专注于业务,这也是 Mesh 的最根本的优势。

应用级服务发现核心原理

在这里插入图片描述

我们从 Dubbo 最经典的工作原理图说起,Dubbo 从设计之初就内置了服务地址发现的能力,Provider 注册地址到注册中心,Consumer 通过订阅实时获取注册中心的地址更新,在收到地址列表后,Consumer 基于特定的负载均衡策略发起对 Provider 的 RPC 调用。

在这个过程中:

  1. 每个 Provider 通过特定的 key 向注册中心注册本机可访问地址;
  2. 注册中心通过这个 key 对 Provider 实例地址进行聚合;
  3. Consumer 通过同样的 key 从注册中心订阅,以便及时收到聚合后的地址列表;

在这里插入图片描述

再来看一下 Provider 向注册中心注册的

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值