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

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

时间2025-08-05 05:10:38分类IT科技浏览6355
导读: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
搭建服务器有什么用(新标题:构建有效的服务器网络架构)