《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(8) https://developer.aliyun.com/article/1223579
4) 决策说明
a) 阈值探测
阈值机制旨在进行流量切换前的地址数检查,如果应用级的可使用地址数与接口级的可用地址数对比后没达到阈值将检查失败。
核心代码如下:
同时MigrationAddressComparator也是一个SPI拓展点,用户可以自行拓展,所有检查的结果取交集。
b) 灰度比例
灰度比例功能仅在应用级优先状态下生效。此功能可以让用户自行决定调用往新模式应用级注册中心地址的调用数比例。灰度生效的前提是满足了阈值探测,在应用级优先状态下,如果阈值探测通过,currentAvailableInvoker将被切换为对应应用级地址的invoker;如果探测失败currentAvailableInvoker仍为原有接口级地址的invoker。
流程图如下:
• 探测阶段
• 调用阶段
核心代码如下:
《Apache Dubbo微服务开发从入门到精通》——迁移到 Dubbo3——二、 迁移到应用级服务发现(6) https://developer.aliyun.com/article/1223582



