《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(4)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(4)

a) 双订阅带来的资源消耗 双订阅不可避免的会增加消费端的内存消耗,但由于应用级地址发现在地址总量方面的优势,这个过程通常是可接受的,我们从两个方面进行分析: • 双订阅带来的地址推送数据量增长。这点我们在“双注册资源消耗”一节中做过介绍,应用级服务发现带来的...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(5)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(5)

2. 详细升级步骤 应用级服务发现为应用间服务发现的协议,因此使用应用级服务发现需要消费端和服务端均升级到Dubbo 3.0版本并开启新特性(默认开启)才能在链路中使用应用级服务发现,真正发挥应用级服务发现的优点。 1) 开启方式 • 服务...

Apache RocketMQ:如何从互联网时代演进到云

1 课时 |
154 人已学 |
免费

Apache Flink 入门到实战 - Flink开源社区出品

16 课时 |
1392 人已学 |
免费

Apache Flink 入门

9 课时 |
4826 人已学 |
免费
开发者课程背景图
《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(6)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(6)

b) 消费端订阅模式 FORCE_INTERFACE:仅接口级订阅,行为和Dubbo 2.7及以前版本一致。 APPLICATION_FIRST:接口级+应用级多订阅,如果应用级能订阅到地址就使用应用级的订阅,如果订阅不到地址则使用接口级的订阅,以此保证迁移过程中最大的...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(7)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(7)

3. 升级中用到的规则详解  1) 状态模型 在Dubbo 3之前地址注册模型是以接口级粒度注册到注册中心的,而Dubbo 3全新的应用级注册模型注册到注册中心的粒度是应用级的。从注册中心的实现上来说是几乎不一样的,这导致了对于从接口级注册模型获取到...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(8)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(8)

4) 决策说明 a) 阈值探测 阈值机制旨在进行流量切换前的地址数检查,如果应用级的可使用地址数与接口级的可用地址数对比后没达到阈值将检查失败。 核心代码如下:  同时MigrationAddressComparator也是一个S...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(9)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(9)

5) 切换过程说明 地址迁移过程中涉及到了三种状态的切换,为了保证平滑迁移,共有6条切换路径需要支持,可以总结为从强制接口级、强制应用级往应用级优先切换;应用级优先往强制接口级、强制应用级切换;还有强制接口级和强制应用级互相切换。 对于同一接口切换的过程总是同步的,如果...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(1)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(1)

三、 迁移到 HTTP/2 协议1. 迁移方案与步骤1) Triple 介绍Triple 协议的格式和原理请参阅 RPC 通信协议。根据 Triple 设计的目标,Triple 协议有以下优势:• 具备跨语言交互的能力,传统的多语言多 SDK 模式和 Mesh 化跨语言模式都需要一种更通用易扩展的数...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(2)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(2)

3) 多语言用户(正在使用 Protobuf)注:建议新服务均使用该方式。对于 Dubbo3 和 Triple 来说,主推的是使用 protobuf 序列化,并且使用 proto 定义的 IDL 来生成相关接口定义。以 IDL 做为多语言中的通用接口约定,加上 Triple与 Grpc 的天然互通性...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(3)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(3)

4) 开启 Triple 新特性——Stream(流)Stream 是 Dubbo3 新提供的一种调用类型,在以下场景时建议使用流的方式:• 接口需要发送大量数据,这些数据无法被放在一个 RPC 的请求或响应中,需要分批发送,但应用层如果按照传统的多次 RPC 方式无法解决顺序和性能的问题ÿ...

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(4)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(4)

《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——三、 迁移到 HTTP/2 协议(3):https://developer.aliyun.com/article/12235585) 使用 Protobuf 序列化的流对于 Protobuf 序列化方式,推荐编写 IDL ...

本页面内关键词为智能算法引擎基于机器学习所生成,如有任何问题,可在页面下方点击"联系我们"与我们沟通。

社区圈子

Apache Spark 中国技术社区
Apache Spark 中国技术社区
阿里巴巴开源大数据技术团队成立 Apache Spark 中国技术社区,定期推送精彩案例,问答区数个 Spark 技术同学每日在线答疑,只为营造 Spark 技术交流氛围,欢迎加入!
4458+人已加入
加入
相关电子书
更多
Apache Doris 精选用户案例集
Apache RocketMQ 云原生统一消息引擎
Apache Dubbo 微服务开发从入门到精通
立即下载 立即下载 立即下载
相关镜像