最新要闻

广告

手机

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案

家电

天天观速讯丨基于 Dubbo Admin 动态进行流量隔离

来源:博客园


【资料图】

Dubbo提供动态流量隔离的服务治理能力,可以在无需重启应用的情况下,动态进行流量隔离。

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

开始之前

请确保成功运行Dubbo-Admin

背景信息

如果一个应用有多个版本在线上同时运行,部署在不同环境中,如日常环境和特殊环境,则可以使用标签路由对不同环境中的不同版本进行流量隔离,将秒杀订单流量或不同渠道订单流量路由到特殊环境,将正常的流量路由到日常环境。即使特殊环境异常,本应进入特殊环境的流量也不会进入日常环境,不影响日常环境的使用。

操作步骤

标签路由

  1. 登录Dubbo-Admin控制台
  2. 在左侧导航栏选择服务治理 > 标签路由。
  3. 点击创建按钮,在创建新标签规则面板中,填写规则内容,然后单击保存。

规则详解

配置模板
---  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"] ...

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

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

结果验证

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

原文首于 Dubbo 官网:https://cn.dubbo.apache.org/zh/overview/tasks/traffic-management/traffic-condition/欢迎在 https://github.com/apache/dubbo 给 Dubbo Star。搜索关注官方微信公众号:Apache Dubbo,了解更多业界最新动态,掌握大厂面试必备 Dubbo 技能

关键词: 特殊环境 操作步骤 以下问题