本地启动时避免将服务注册到Eureka网关
2023-12-13 15:32:40
(1)服务配置文件修改
当在本地开发时,有时你可能想要避免将服务注册到网关,这样可以更轻松地进行单独的服务测试。在使用Eureka注册服务时,你可以通过配置来控制服务是否注册到Eureka服务器。
要在本地启动时避免将服务注册到Eureka网关,可以在服务的配置文件(如application.properties或application.yml)中添加以下属性:
使用属性文件(.properties):
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false
使用 YAML 文件(.yml):
eureka:
client:
register-with-eureka: false
fetch-registry: false
这样配置后,服务启动时将不会向Eureka注册自己,也不会从Eureka获取服务注册信息。这对本地开发和测试来说是非常方便的。
(2)代码修改配置文件
在某些情况下,我们获取的配置都是远程配置中心的,即使本地开发也不能随意修改影响别人,针对于此可以通过本地修改代码的方式,例如可以限制获取本地的操作系统属性,如果是windows或者mac则不进行注册
@Configuration
public class EurekaClientConfig {
@Bean
public void configureEurekaClient() {
String osName = System.getProperty("os.name").toLowerCase();
if (osName.toLowerCase().contains("windows") || osName.toLowerCase().contains("mac")) {
System.setProperty("eureka.client.register-with-eureka", "false");
System.setProperty("eureka.client.fetch-registry", "false");
}
}
}
(3)继承EurekaClientConfigBean
EurekaClientConfigBean 是 Netflix Eureka 客户端的配置类之一,它提供了许多属性来配置客户端与 Eureka 服务器的交互。这些属性包括注册、获取服务信息、健康检查等方面的配置。shouldRegisterWithEureka 是 EurekaInstanceConfigBean 中的一个方法,用于确定是否将该实例注册到 Eureka 服务器。
@Slf4j
public class BaseEurekaConfig extends EurekaClientConfigBean {
@Override
public boolean shouldRegisterWithEureka() {
String osName = System.getProperty("os.name").toLowerCase();
if (osName.contains("windows") || osName.contains("mac"))
return false;
return super.shouldRegisterWithEureka();
}
}
文章来源:https://blog.csdn.net/Octopus21/article/details/134906151
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!