SpringCloud 实战调试技巧,可以使用其他环境的服务,同时又不暴露自己本地的服务

2,208 阅读1分钟

存在的问题

平时我们在本地调试的时候,如果涉及到多个服务的时候,我们需要启动所有相关的服务,这是一个很不爽的过程。那么有没有只需要启动我要调试的服务,其他服务直接调用测试环境或者开发环境的就可以了呢?

常规我们的做法

把application.yml 中的 active 改成test

就可以享受测试环境的所有的服务。但是这会有一个问题,你的服务同时也暴露出去,测试人员在测试的时候调用到你本地不稳定的服务(可能在开发中)。以为服务又出bug 或者崩了

测试同事此时的心情应该是跟下面一样的:开发小哥,什么垃圾系统这么不稳定,来来来,我们先出去干一架

真是世界上没有免费的午餐。这个时候有没有更好的解决方案呢?我可以使用线上的服务,我又不暴露我本地的服务给测试环境。
dubbo 是有的,Spring Cloud 不可能没有啊,查了一下

还真有。扯淡那么多,赶紧给我来重点。。。。。。

Talk is cheap.Show me your code

完美做法

  1. 在配置文件上配置
spring.cloud.service-registry.auto-registration.enabled=false
  1. 在你的启动类配置
 @EnableDiscoveryClient(autoRegister=false)

以上两种方案,选其一。

看完两件事

如果你觉得这篇内容对你挺有启发,我想邀请你帮我2个小忙:

  1. 点赞,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
  2. 关注公众号「面试bat」,不定期分享原创知识,原创不易,请多支持(里面还提供刷题小程序哦)。