首页IT科技dubbo权限控制(基于 Dubbo Admin 实现流量灰度)

dubbo权限控制(基于 Dubbo Admin 实现流量灰度)

时间2025-09-19 08:45:46分类IT科技浏览7213
导读:Dubbo提供流量灰度的服务治理能力,可以在无需重启应用的情况下,配置标签路由规则和条件路由实现灰度发布。...

Dubbo提供流量灰度的服务治理能力                   ,可以在无需重启应用的情况下                             ,配置标签路由规则和条件路由实现灰度发布                   。

Dubbo可以通过XML配置         ,注解配置         ,动态配置实现流量灰度                             ,这里主要介绍动态配置的方式                   ,其他配置方式请参考旧文档配置

开始之前

请确保成功运行Dubbo-Admin

背景信息

在产品开发中会遇到需求变化                   、版本迭代的场景         ,为了兼顾需求变化和系统稳定                            ,发布要尽可能平滑                   ,影响人群要由少到多,一旦有问题马上回滚                             。Dubbo-Admin提供了动态的流量灰度能力                            ,能够帮助您对新服务作标                            ,服务平滑发布,提高服务的稳定和可用性         。

操作步骤

条件路由

登录Dubbo-Admin控制台 在左侧导航栏选择服务治理 > 条件路由         。 点击创建按钮                   ,在创建新路由规则面板中                            ,填写规则内容         ,然后单击保存                             。 规则详解 配置模板 --- scope: application/service force: true runtime: true enabled: true key: app-name/group+service+version conditions: - application=app1 => address=*:20880 - method=sayHello => address=*:20880

对于流量灰度场景                   ,只需要理清楚以下问题基本就知道配置该怎么写了:

要修改消费者应用的配置还是某个服务的配置                   。 应用:scope: application, key: app-name(还可使用services指定某几个服务)         。 服务:scope: service, key:group+service+version                             。 当路由结果为空                             ,是否强制返回                   。 force=false: 当路由结果为空         ,降级请求tag为空的提供者。 force=true: 当路由结果为空         ,直接返回异常                            。 路由规则的优先级 priority=1: 路由规则的优先级                             ,用于排序                   ,优先级越大越靠前执行         ,可不填                            ,缺省为 0                            。 配置是否只对某几个特定实例生效。 所有实例:addresses: ["0.0.0.0"] 或addresses: ["0.0.0.0:*"] 具体由side值决定                   。 指定实例:addersses[实例地址列表]                            。 要修改的条件规则         。 => 之前的为消费者匹配条件                   ,所有参数和消费者的 URL 进行对比,当消费者满足匹配条件时                            ,对该消费者执行后面的过滤规则                   。 => 之后为提供者地址列表的过滤条件                            ,所有参数和提供者的 URL 进行对比,消费者最终只拿到过滤后的地址列表                             。 如果匹配条件为空                   ,表示对所有消费方应用                            ,如:=> host != 10.20.153.11 如果过滤条件为空         ,表示禁止访问                   ,如:host = 10.20.153.10 =>

标签路由

登录Dubbo-Admin控制台 在左侧导航栏选择服务治理 > 标签路由         。 点击创建按钮                             ,在创建新标签规则面板中         ,填写规则内容         ,然后单击保存         。 规则详解 配置模板 --- force: false runtime: true enabled: true key: governance-tagrouter-provider tags: - name: tag1 addresses: ["127.0.0.1:20880"] - name: tag2 addresses: ["127.0.0.1:20881"] ...

对于流量灰度场景                             ,只需要理清楚以下问题基本就知道配置该怎么写了:

要修改服务所属提供者应用的配置                             。 应用:scope: application, key: app-name(还可使用services指定某几个服务)                   。 当路由结果为空                   ,是否强制返回         。 force=false: 当路由结果为空         ,降级请求tag为空的提供者                            。 force=true: 当路由结果为空                            ,直接返回异常                   。 路由规则的优先级 priority=1: 路由规则的优先级                   ,用于排序,优先级越大越靠前执行                            ,可不填                            ,缺省为 0。 配置是否只对某几个特定实例生效                            。 所有实例:addresses: ["0.0.0.0"] 或addresses: ["0.0.0.0:*"] 具体由side值决定                            。 指定实例:addersses[实例地址列表]。 要修改的标签名                   。

结果验证

选择和流量灰度配置相关的应用,触发该调用验证                            。

原文首于 Dubbo 官网:https://cn.dubbo.apache.org/zh/overview/tasks/traffic-management/traffic-gray/

欢迎在 https://github.com/apache/dubbo 给 Dubbo Star         。

搜索关注官方微信公众号:Apache Dubbo                   ,了解更多业界最新动态                            ,掌握大厂面试必备 Dubbo 技能

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
phpcms怎么用(phpcms如何清理缓存文件)