Dubbo 路由规则和权重的生效时机

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
EMR Serverless StarRocks,5000CU*H 48000GB*H
简介:

集群容错

  • 这里的 Invoker 是 Provider 的一个可调用 Service 的抽象,Invoker 封装了 Provider 地址及 Service 接口信息
  • Directory 代表多个 Invoker,可以把它看成 List ,但与 List 不同的是,它的值可能是动态变化的,比如注册中心推送变更
  • Cluster 将 Directory 中的多个 Invoker 伪装成一个 Invoker,对上层透明,伪装过程包含了容错逻辑,调用失败后,重试另一个
  • Router 负责从多个 Invoker 中按路由规则选出子集,比如读写分离,应用隔离等
  • LoadBalance 负责从多个 Invoker 中选出具体的一个用于本次调用,选的过程包含了负载均衡算法,调用失败后,需要重选

生效时机

  • 路由规则(包括条件路由和标签路由)生效的时机在于生成invoker的过程,如上图中的Router过程,路由规则会影响invoker对象的生成,例如某个service有providerA和providerB,但是路由规则规定consumer侧只能访问providerB,那么在这种情况下只会生成providerB对应的invoker对象。
  • 如果遇到No provider available for the service的错误,建议按照下面的步骤去排查,先确认service对应的provider是否存在,再排查provider和consumer的version和group是否一致,最后排查是否有条件路由影响。
  • 权重调整的生效时机其实是在负载均衡的选择invokder的过程中,如上图中的LoadBalance过程,如果权重为0且provider不唯一,那么权重为0的provider不会被调用,如果provider唯一那么任何的负责均衡策略都不生效,直接返回唯一的provider进行调用。
相关实践学习
SLB负载均衡实践
本场景通过使用阿里云负载均衡 SLB 以及对负载均衡 SLB 后端服务器 ECS 的权重进行修改,快速解决服务器响应速度慢的问题
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
Dubbo 应用服务中间件 Apache
带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 五、 动态配置规则
126 8
|
Dubbo 应用服务中间件 测试技术
带你读《Apache Dubbo微服务开发从入门到精通》—— 三、 标签路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 三、 标签路由规则
233 6
|
Dubbo 应用服务中间件 Apache
带你读《Apache Dubbo微服务开发从入门到精通》—— 二、 条件路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 二、 条件路由规则
189 6
|
负载均衡 Dubbo JavaScript
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
带你读《Apache Dubbo微服务开发从入门到精通》—— 四、 脚本路由规则
187 2
|
缓存 Dubbo Cloud Native
Dubbo 3 StateRouter:下一代微服务高效流量路由
目前 MSE 服务治理的 离群实例摘除、标签路由、金丝雀发布、全链路灰度等功能已经使用该路由方案,经过我们的压测与演练,在 CPU、RT 等方面均有不少提升,以 Demo 应用为例 (服务调用的跳数为 2,下游 30 节点,每个节点 1c2g) 其中调用 RT 提升约 6.7%。
454 1
Dubbo 3 StateRouter:下一代微服务高效流量路由
|
缓存 Dubbo 应用服务中间件
Dubbo3 StateRouter下一代高效流量路由机制
目前 MSE 服务治理的 离群实例摘除、标签路由、金丝雀发布、全链路灰度等功能已经使用该路由方案,经过我们的压测与演练,在CPU、RT等方面均有不少提升,以 Demo 应用为例 (服务调用的跳数为2,下游30节点,每个节点1c2g) 其中调用 RT 提升约 6.7%。
Dubbo3 StateRouter下一代高效流量路由机制
|
负载均衡 算法 Dubbo
Dubbo负载均衡和路由规则的区别
强哥的朋友最近就遇到一个问题。有如下情况:代码仓库中有一套使用Dubbo2.x编写的微服务代码CodeW,其中有一个接口方法algoCompute(Map map),这个方法可以根据传入的Map内部信息的不同,加载不同的算法模型进行计算,以此来达到同一套代码可以根据请求参数的不同处理不同需求的目的。
Dubbo负载均衡和路由规则的区别
|
存储 Dubbo Java
以为是青铜,没想到是王者的dubbo标签路由
在开发测试中我们通常会遇到多项目并行开发测试,假设应用ABCDE均为dubbo应用,需求1修改了应用A、C代码,需求2修改了应用A、B、E代码,此时如果并行测试,需求1可能会调用到需求2修改的代码上,造成测试混乱。
459 0
以为是青铜,没想到是王者的dubbo标签路由
|
Dubbo 安全 应用服务中间件
当dubbo多注册中心碰上标签路由
今天的主角是标签路由和dubbo的多注册中心。标签路由在之前的文章《以为是青铜,没想到是王者的dubbo标签路由》中已经详细介绍过,多注册中心是dubbo可以使用多个注册中心来提供或者消费服务,利用多注册中心的特性可以搭建多机房。然而很不幸,当多注册中心遇上标签路由,却产生了一个bug。
234 0
当dubbo多注册中心碰上标签路由
|
6月前
|
Dubbo Java 应用服务中间件
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
微服务学习 | Springboot整合Dubbo+Nacos实现RPC调用
下一篇
无影云桌面