凌风515
时不我待,只争朝夕

在本地环境启动dubbo服务的项目,遇到一个问题,就是项目启动后,本地的dubbo服务会注册到测试环境的zookeeper、nacos上,但是注册的ip地址是只有自己电脑能访问的,就会导致测试环境拿到了我本地的ip地址,但是连接不上,但是我们想调用测试环境的dubbo服务,又不想自己本地的dubbo服务注册到注册中心。

处理方案:加上dubbo.registry.register=false即可

1、背景:我们的dubbo注册中心是集群,有多个,有zk和nacos作为dubbo的注册中心
spring.dubbo.registry.address = nacos://192.168.220.53:8848;nacos://192.168.220.54:8848;nacos://192.168.220.55:8848|zookeeper://192.168.220.15:2181?backup=192.168.220.15:2182,192.168.220.15:2183

2、在dubbo-admin和nacos的控制台可以看到本地注册的ip

3、处理方案

   点击IDEA的Edit Configurations,在VM options里面加上

    

         

    

  备注

  VM option :启动时的参数配置,设置启动参数的意义是当启动程序时,程序会优先读取idea的配置参数
  3.1、当然我们可以直接application.properties里加上dubbo.registry.register=false,也一样
  3.2、但是在VM options设置的参数会覆盖application.properties或application.yaml上的同名参数,好处是不用修改配置文件,如果修改了applicaion.properties在提交代码时候不要提交这行配置
  3.3、-D"name"=“value” 的-D是指自定义参数
  3.4、Program agruments :作为main方法的args参数传入

4、重新启动项目验证
   重启后可以看到dubbo-admin、nacos上已经没有本地的ip的服务提供者了,但是本地的项目还是可以调用测试环境的dubbo服务

   

 

posted on 2022-05-12 10:41  凌风515  阅读(909)  评论(0编辑  收藏  举报