《Apache Dubbo微服务开发从入门到精通》——基于规则的流量治理—— 一、 Dubbo流量治理体系概览(3) https://developer.aliyun.com/article/1224381
3) 动态配置规则
通过Dubbo提供的动态配置规则,您可以动态的修改Dubbo服务进程的运行时行为,整个过程不需要重启,配置参数实时生效。基于这个强大的功能,基本上所有运行期参数都可以动态调整,比如超时时间、临时开启Access Log、修改Tracing采样率、调整限流降级参数、负载均衡、线程池配置、日志等级、给机器实例动态打标签等。与上文讲到的流量管控规则类似,动态配置规则支持应用、服务两个粒度,也就是说您一次可以选择只调整应用中的某一个或几个服务的参数配置。
当然,出于系统稳定性、安全性的考量,有些特定的参数是不允许动态修改的,但除此之外,基本上所有参数都允许动态修改,很多强大的运行态能力都可以通过这个规则实现,您可以找个示例应用去尝试一下。通常URL地址中的参数均可以修改,这在每个语言实现的参考手册里也记录了一些更详细的说明。
动态配置规则示例—修改超时时间
以下示例将org.apache.dubbo.samples.UserService服务的超时参数调整为2000ms。
以下部分指定这个配置是服务粒度,具体变更的服务名为org.apache.dubbo.samples.UserService。scope支持service、application两个可选值,如果scope: service,则key应该配置为version/service:group格式。
注:
关于Dubbo规则中的scope以及service、application的说明请参考动态配置参考手册一节或官网任务中给的一些动态配置示例。
parameters参数指定了新的修改值,这里将通过timeout:2000将超时时间设置为2000ms。
4) 脚本路由规则
脚本路由是最直观的路由方式,同时它也是当前最灵活的路由规则,因为你可以在脚本中定义任意的地址筛选规则。如果我们为某个服务定义一条脚本规则,则后续所有请求都会先执行一遍这个脚本,脚本过滤出来的地址即为请求允许发送到的、有效的地址集合。
《Apache Dubbo微服务开发从入门到精通》——基于规则的流量治理—— 一、 Dubbo流量治理体系概览(5) https://developer.aliyun.com/article/1224374