|都已经十岁的 Apache Dubbo,还能再乘风破浪吗?( 四 )
既然面向接口有如此多的好处 , 那为什么我们还要探索面向应用的服务治理模式呢?
听起来似乎有些矛盾 。 其实到底是面向接口 , 还是面向应用 , 只是从不同的角度看 Dubbo 。 我们所聊的“面向接口 -> 面向应用”的改造 , 主要体现在服务注册、发现层面:
本文插图
而我们说的面向应用的新模型 , 主要对第 2 点 , 即注册中心的数据组织转变为 “面向应用/实例” 粒度 。 这为我们解决两个问题:
- 在服务发现层面与 Kubernetes Service 等微服务模型对齐;
- 服务发现的数据量将有一个量级的下降 , 从 “接口数 实例数 ”下降到 “应用数 实例数” 。
云原生基础设施
云原生带来了底层基础设施 , 应用开发、部署和运维等全方位的变化:
基础设施
- 基础设施调度机制变化 , 带来运维(生命周期)、服务治理等方面的变化;
- 服务发现能力下沉 ,Kubernetes 抽象了 Native Service Discovery 。
- Mesh 为跨语言、sdk 升级等提供了解决方案 , Dubbo sdk 要与 Mesh 协作 , 做到功能、协议、服务治理等多方便的适配;
- Mesh 尚未大规模铺开 , 且其更适合对流量管控更关注的应用 , 传统 SDK 的性能优势仍旧存在 , 两者混部迁移场景可能会长期存在 。
- 不使用 Kubernetes Native Service , Kubernetes 只作为容器编排调度设施 , 继续使用 Dubbo 自建的服务注册、发现机制;
- 复用 Kubernetes Native Service , Dubbo 不再关心服务注册 , Dubbo Client 负责服务发现与流量分配;
- Dubbo sdk 往 Mesh 迁移 , 一方面要做到适应 Mesh 架构 , 成为 Mesh 体系下的 RPC 编程和通信方案;另一方面要做到 Dubbo 与 Mesh 架构长期共存 , 互相打通服务发现和治理体系;
- Kubernetes 上与云下混合部署的平滑迁移支持 , 包括服务发现的统一与网络通信方案的打通 。
- 生命周期:Dubbo 与 Kubernetes 调度机制绑定 , 保持服务生命周期与 Pod 容器等生命周期的自动对齐;
- 治理规则:服务治理规则在规则体、规则格式方面进行优化 , 如规则体以 YAML 描述、取消过滤规则对 IP 的直接依赖 , 定义规则特有的 CRD 资源等;
- 服务发现:支持 K8S Native Service 的服务发现 , 包括 DNS、API-Server , 支持 xDS 的服务发现;
- Mesh 架构协作:构建下一代的基于 HTTP/2的通信协议 , 支持 xDS 的标准化的数据下发 。
总结与展望
作为系列文章开篇 , 我们在这里对 Dubbo 过去一年的成绩做了简要的总结与回顾 , 包括 Dubbo 社区、产品迭代的发展 。 接下来我们会看到更多来自深度 Dubbo 用户的落地经验分享 , Dubbo-go 子社区的发展故事等 。 更重要的 , 我们也对下一代云原生 Dubbo - Dubbo 3.0 做了展望 , 后续关于 Dubbo 3.0 Roadmap、方案设计与进展解析等也将在此系列中发布 。
推荐阅读
- CSDN|由 Apache 说开,中国开源项目已经走向世界!
- Hudi|技术干货 | Uber基于Apache Hudi构建PB级数据湖实践
- 怜雪的纪实|网上电脑为什么比实体店电脑便宜很多?
- 科学|超恐怖的科学悖论:缸中之脑已经出现!我们的世界是虚拟的吗?
- 乡村情|马云又一预言被证实,手机支付或被淘汰,新的支付方式已经到来
- 新机发布|多款 YOGA 笔记本曝光,联想产品经理:已经在用了
- 联想笔记本|高考已经圆满落下帷幕 推荐几款适合在大学里用的笔记本
- |智慧农业时代已经来临
- 行业互联网,科创板|高通谈中芯国际科创板上市:双方合作已经超过了14年
- 新机发布|红米K30Ultra被爆已经量产,将于小米旗舰之后发布,缺点都补上了
