apache|Apache Dubbo 3.0.0 正式发布 - 全面拥抱云原生

文章图片
文章图片
文章图片
文章图片
一、背景 自从 Apache Dubbo 在 2011 年开源以来 , 在一众大规模互联网、IT公司的实践中积累了大量经验后 , Dubbo 凭借对 Java 用户友好、功能丰富、治理能力强等优点在过去取得了很大的成功 , 成为国内外热门主流的 RPC 框架之一 。
但随着云原生时代的到来 , 以 Apache Dubbo、Spring Cloud 等为代表的 Java 微服务治理体系面临了许多新的需求 , 包括期望应用可以更快的启动、应用通信的协议穿透性可以更高、能够对多语言的支持更加友好等 。 例如Spring 也在今年推出了其基于 GraalVM 的 Spring Native Beta 解决方案 , 拥有毫秒级启动的能力、更高的处理性能等优化提升 。
这样的背景对下一代 Apache Dubbo 提出了两大要求:一是要保留已有的开箱即用和落地实践背景下积累的优点 , 这也是众多开发者所期望的;二是尽可能地遵循云原生思想 , 能更好的复用底层云原生基础设施并且更贴合云原生的微服务架构 。
二、拥抱云原生 在如今的大背景下 , Apache Dubbo 3 选择全面拥抱云原生 , 将 Dubbo 的架构升级 , 提出了全新的服务发现模型、下一代 RPC 协议和云原生基础设施适配等优化方案 。
1、全新服务发现模型(应用级服务发现)
应用级注册模型
以 Dubbo 原有的设计 , 存储在注册中心中的数据会在很大程度上存在重复的内容 , 这其实浪费了一部分的存储 。 而当整个集群的规模足够大的时候 , 由于服务注册发现是服务维度的 , 注册中心的数据量就会爆发式地增长 。
当前同样是微服务治理工具的 Spring Cloud 和 gRPC 都是基于应用级的服务发现 , 如果仍使用接口级别的注册方式 , Dubbo 就很难和他们进行互通 。 但假如 Dubbo 也可以像 Spring Cloud 一样以服务级注册 , 那么在异构体系下将可以很轻松地工作起来 。
异构下部署方案
应用级服务发现机制是 Apache Dubbo 面向云原生走出的重要一步 , 它帮 Apache Dubbo 打通了与其他微服务体系之间在地址发现层面的鸿沟 , 也成为 Apache Dubbo 适配 Kubernetes Native Service 等基础设施的基础 。
【apache|Apache Dubbo 3.0.0 正式发布 - 全面拥抱云原生】基于应用级服务发现 , 注册中心的数据将被重新组织 , 注册中心的压力大大减轻 。 同时 , 由于地址量减少了 , 应用自身的内存消耗也可以大幅降低 。
性能提升
在一般情况下 , 应用中存储的地址量可以降低约一半 , 针对上游应用大规模部署的场景(比如部署了 1000 个节点、提供了 50 个服务)甚至可以达到 95% 以上 , 这对于核心应用的内存压力环境带来的优化是巨大的 。
2、下一代 RPC 协议 —— Triple
在云原生时代 , Dubbo RPC 协议主要面临两个挑战:
1、生态不互通 , Dubbo 协议基于二进制流定制了与 RPC 强绑定的核心语义 , 包括协议头、标志位、请求 ID 以及请求/响应数据等 。 而对于越来越多的云原生治理设施 , 要让他们都 “读” 懂 Dubbo 的二进制 “语义” 并不容易 。
2、由于协议设计的问题 , Dubbo 协议的协议头已无法再承载更多的元数据信息 。 而对于 Mesh 等网关型组件 , 如果想要对数据进行治理就需要对完整的数据包进行解析才能获取到必要的元数据信息(如 RPC 上下文) , 从性能到易用性方面都会面临挑战 。
- apache|汇总 | 2022年6月,全价格段性价比最高的装机方案,你想要的都在这
- apache|华为手机,vivo手机和iQOO哪个性价比好,各有什么优缺点?
- apache|虚拟现实+眼动追踪精选实战分享:认知“新”健康
- apache|疫情过后,阿里京东拼多多美团,谁吃到最大利好?
- apache|小米“良心了”,12G+256G+三星E4屏,售价仅2399元!
- 客户端|Dubbo-go-Mesh 开启新一代 Go 微服务形态
- apache|华为升任孟晚舟为董事长的真实意图,骨气与危机,大多数人不理解
- apache|两千元花呗逾期两个月,支付宝会上门催债吗?如果是你,你会怎么处理?
- apache|裁员的同时,互联网大厂应届生的工资依然上涨,为什么?
- apache|基于 Confluent+Flink 的实时数据分析最佳实践
