存在的问题
平时我们在本地调试的时候,如果涉及到多个服务的时候,我们需要启动所有相关的服务,这是一个很不爽的过程。那么有没有只需要启动我要调试的服务,其他服务直接调用测试环境或者开发环境的就可以了呢?
常规我们的做法
把application.yml 中的 active 改成test
就可以享受测试环境的所有的服务。但是这会有一个问题,你的服务同时也暴露出去,测试人员在测试的时候调用到你本地不稳定的服务(可能在开发中)。以为服务又出bug 或者崩了
测试同事此时的心情应该是跟下面一样的:开发小哥,什么垃圾系统这么不稳定,来来来,我们先出去干一架
真是世界上没有免费的午餐。这个时候有没有更好的解决方案呢?我可以使用线上的服务,我又不暴露我本地的服务给测试环境。
dubbo 是有的,Spring Cloud 不可能没有啊,查了一下
还真有。扯淡那么多,赶紧给我来重点。。。。。。
Talk is cheap.Show me your code
完美做法
- 在配置文件上配置
spring.cloud.service-registry.auto-registration.enabled=false
- 在你的启动类配置
@EnableDiscoveryClient(autoRegister=false)
以上两种方案,选其一。
看完两件事
如果你觉得这篇内容对你挺有启发,我想邀请你帮我2个小忙:
- 点赞,让更多的人也能看到这篇内容(收藏不点赞,都是耍流氓 -_-)
- 关注公众号「面试bat」,不定期分享原创知识,原创不易,请多支持(里面还提供刷题小程序哦)。