测试环境治理

dubbo调用

使用统一测试环境zk,不允许私自搭建zk,服务通过分组注册到zk
测试环境zk集群 zookeeper://1:2181?backup=2:2181,3:2181
dubbo-admin http://3:9090/dubbo-admin/

dubbo服务注册分组

auto-config.xml添加dubbo.service.group(不一定要这个名字,配置名字可以自己起)分组配置,required="false"表示配置项可为空

<group name="dubbo">
    <property name="dubbo.service.group" required="false" description="服务版本" />
</group>

在provier里添加group属性,先不要在配置中心添加dubbo.service.group分组配置,后面再统一添加,#if($dubbo_service_group)表示dubbo.service.group配置存在时设置分组属性,if里判断dubbo.service.group要改为dubbo_service_group,“.”velocity(autoconfig使用velocity模版引擎)会认为是对象属性,判断会有问题

<dubbo:provider #if($dubbo_service_group) group="${dubbo.service.group}" #end />  

dubbo消费调用分组

消费分组设置需要对调用的服务进行梳理,同一个应用提供的服务设置一个分组配置

例如下面3个服务是riskmanagement提供的服务

<!--风控-查询最新授信信息服务-->
<dubbo:reference id="decisionResultFacade" interface="com.touna.credit.riskmanagement.facade.intf.DecisionResultFacade" />
<!--风控-预授信服务-->
<dubbo:reference id="creditRecordFacade" interface="com.touna.credit.riskmanagement.facade.intf.CreditRecordFacade" />
<!--风控-车主贷白名单服务V5.2.0-->
<dubbo:reference id="whitelistDetailFacade" interface="com.touna.credit.riskmanagement.facade.intf.WhitelistDetailFacade" />

auto-config.xml添加dubbo.riskmanagement.group(不一定要这个名字,配置名字可以自己起)分组配置

<group name="dubbo">
    <property name="dubbo.service.group" required="false" description="服务版本" />
    <property name="dubbo.riskmanagement.group" required="false" description="riskmanagement服务版本" />
</group>

先不要在配置中心里添加dubbo.riskmanagement.group分组配置,后面再统一添加

在reference里添加group属性,#if($dubbo_riskmanagement_group)表示dubbo.riskmanagement.group配置存在时设置分组属性

<!--风控-查询最新授信信息服务-->
<dubbo:reference id="decisionResultFacade" interface="com.touna.credit.riskmanagement.facade.intf.DecisionResultFacade" #if($dubbo_riskmanagement_group) group="${dubbo.riskmanagement.group}" #end />
<!--风控-预授信服务-->
<dubbo:reference id="creditRecordFacade" interface="com.touna.credit.riskmanagement.facade.intf.CreditRecordFacade" #if($dubbo_riskmanagement_group) group="${dubbo.riskmanagement.group}" #end />
<!--风控-车主贷白名单服务V5.2.0-->
<dubbo:reference id="whitelistDetailFacade" interface="com.touna.credit.riskmanagement.facade.intf.WhitelistDetailFacade" #if($dubbo_riskmanagement_group) group="${dubbo.riskmanagement.group}" #end />

发送消息

使用统一测试环境MQ,不允许私自搭建MQ
测试环境MQ 1:9876;2:9876
rocketmq-console http://3:8080

rocketmq寻址(host绑定):
3 jmenv.tbsite.net

消息通过在生产分组名称和消费分组名称里指定路由分组实现消息路由
DefaultMQProducer producer = new DefaultMQProducer("test_producer_group_name%%h5");
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("test_consumer_group_name%%h5");

生产者分组名称和消费者分组名称里的特定符号%%后面是路由分组信息,例如:指定为h5(表示h5项目路由分组),指定路由分组的生产者发出来的消息只能被相同路由分组的消费者消费,test_producer_group_name%%h5 生产者发送的消息只能被 xxxx%%h5 消费者消费

因为需要在生产者分组名称和消费者分组名称里设置路由分组信息,所以要把这两个名称做为配置项,在配置中心新增配置项rocketmq.produce.group.name、rocketmq.consumer.group.name,新增stable版本配置值xxxx%%stable(原来名称后加%%stable),stable环境取这个配置信息
DefaultMQProducer producer = new DefaultMQProducer("${rocketmq.produce.group.name}");
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("${rocketmq.consumer.group.name}");

环境部署指南

假设存在以下系统调用关系:

项目1

只涉及系统A修改,那只需要部署系统A的项目1环境,其他系统不需要部署,使用稳定环境提供的服务

项目2

涉及系统A和系统B修改,需要部署系统A和系统B的项目环境

项目3

涉及系统A和系统B修改,但监听处理系统D的消息的逻辑发生改变,所以需要部署系统D的项目环境,并且设置消息路由分组,让系统D的消息能回到系统A处理

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值