开发、测试环境 dubbo springcloud服务调用冲突、 kafka 消息消费冲突的解决方案

6 篇文章 0 订阅
5 篇文章 0 订阅

目录

 

一、服务注册

                  1.dubbo  && springcloud

2.kafka

二、开发调试

1.springcloud feign

2.dubbo

3.kafka


一、服务注册

1.dubbo  && springcloud

我们在开发环境中进行开发的时候经常会调用测试环境的服务,测试环境的注册中心服务是最完整的,所以推荐直接使用测试环境的注册中心。

但是这样会导致我们本地电脑上面的服务注册到注册中心,测试环境就有可能调用到我们本地的服务,所以会有冲突,解决方案是关闭开发环境服务注册到注册中心。


# 禁止向注册中心注册服务

eureka.client.register-with-eureka = false

# 禁止向注册中心注册服务

dubbo.registry.register = false

如果springcloud 用的nacos 为注册中心,可以使用下面的配置

spring.cloud.nacos.discovery.register-enabled=false

 

2.kafka

同样开发环境kafka也有可能消费测试环境的数据,这里需要修改代码和增加 配置来控制listener 的启动


# 是否开启kafkalistener

kafka.listener.autoStartup = false

listener

@KafkaListener(topics = TopicNameConstants.FINANCE_REFUND_STATUS_GROUP_SYNC,autoStartup = "${kafka.listener.autoStartup:#{\"true\"}}")

 

这样 listener 就不会消费消息了

 

二、开发调试

 

这样配置之后,不能通过注册中心找到开发机上面的服务,本地调试接口可以通过配置 url 来调用本地的接口

1.springcloud feign

 @FeignClient 注解改动,增加本地服务路径端口。我们的 @FeignClient 一般是配置在api 包里面的,改好之后 maven install 一下,如果生产者和消费者不在一台机器,填生产者机器的ip端口即可

feign注解

@FeignClient(path = "/generate", name = ServiceNameConstants.MH_ORDER_GENERATE_SERVICE, fallbackFactory = MHServiceOrderApiFallbackFactory.class,url = "http://127.0.0.1:8083" )

2.dubbo

@Reference 注解 也可以增加url, 改好之后不用 maven install,直接可以调用本地的接口,如果生产者和消费者不在一台机器,填生产者机器的ip端口即可

@Refrence注解

@Reference(version = "1.0.0", check = false, timeout = 60000,url = "dubbo://127.0.0.1:20883")

3.kafka

kafka 的本地测试可以选一个没有人用的topic进行测试,然后使用jemter 进行测试

jemter压测kafka

kafka

@KafkaListener(topics = "没人用的topic")

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值