覆盖规则是 Dubbo 设计的在无需重启应用的情况下,动态调整 RPC 调用行为的一种能力。2.7.0 版本开始,支持从服务和应用两个粒度来调整动态配置。
请在服务治理控制台查看或修改覆盖规则。
其中:
configVersion
表示 dubbo 的版本scope
表示配置作用范围,分别是应用(application)或服务(service)粒度。必填。key
指定规则体作用在哪个服务或应用。必填。enabled=true
覆盖规则是否生效,可不填,缺省生效。configs
定义具体的覆盖规则内容,可以指定n(n>=1)个规则体。必填。对于绝大多数配置场景,只需要理清楚以下问题基本就知道配置该怎么写了:
要修改整个应用的配置还是某个服务的配置。
scope: application, key: app-name
(还可使用services
指定某几个服务)。scope: service, key:group+service+version
。修改是作用到消费者端还是提供者端。
side: consumer
,作用到消费端时(你还可以进一步使用providerAddress
, applications
选定特定的提供者示例或应用)。side: provider
。配置是否只对某几个特定实例生效。
addresses: ["0.0.0.0"]
或addresses: ["0.0.0.0:*"]
具体由side值决定。addersses[实例地址列表]
。要修改的属性是哪个。
禁用提供者:(通常用于临时踢除某台提供者机器,相似的,禁止消费者访问请使用路由规则)
调整权重:(通常用于容量评估,缺省权重为 200)
调整负载均衡策略:(缺省负载均衡策略为 random)
服务降级:(通常用于临时屏蔽某个出错的非关键服务)