本地启动时避免将服务注册到Eureka网关

(1)服务配置文件修改

当在本地开发时,有时你可能想要避免将服务注册到网关,这样可以更轻松地进行单独的服务测试。在使用Eureka注册服务时,你可以通过配置来控制服务是否注册到Eureka服务器。

要在本地启动时避免将服务注册到Eureka网关,可以在服务的配置文件(如application.properties或application.yml)中添加以下属性:

使用属性文件(.properties):

bash 复制代码
eureka.client.register-with-eureka=false
eureka.client.fetch-registry=false

使用 YAML 文件(.yml):

bash 复制代码
eureka:
  client:
    register-with-eureka: false
    fetch-registry: false

这样配置后,服务启动时将不会向Eureka注册自己,也不会从Eureka获取服务注册信息。这对本地开发和测试来说是非常方便的。

(2)代码修改配置文件

在某些情况下,我们获取的配置都是远程配置中心的,即使本地开发也不能随意修改影响别人,针对于此可以通过本地修改代码的方式,例如可以限制获取本地的操作系统属性,如果是windows或者mac则不进行注册

bash 复制代码
@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 服务器。

bash 复制代码
@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();
    }
}
相关推荐
张忠琳23 分钟前
【NVIDIA】 NVIDIA Container Toolkit v1.19.1 — OCI 模块超深度分析之三
云原生·容器·架构·kubernetes·nvidia
阿里云云原生2 小时前
让 AI Agent 看见正在发生的业务,阿里云 EventHouse 正式商业化
云原生
AOwhisky3 小时前
Python 学习笔记(第十五期)——运维自动化(下·后篇):堡垒机实战——paramiko高阶篇
运维·python·学习·云原生·自动化·运维开发
微三云 - 廖会灵 (私域系统开发)6 小时前
电商系统从单体到微服务拆分实践:拆什么、怎么拆、拆完后怎么办
微服务·云原生·架构
骑上单车去旅行7 小时前
Docker Compose 命令完全指南:从构建到运维
docker·容器·eureka
前端Baymax8 小时前
K8s PodCrashLoopBackOff假阳性排查
云原生·容器·kubernetes
guslegend9 小时前
领域驱动设计,微服务设计为什么要选择DDD?
微服务·云原生·架构
AOwhisky10 小时前
云原生 DevOps 工具链从入门到实战(第一期)——DevOps概述与GitLab部署——从理念到工具落地
运维·ci/cd·云原生·gitlab·开发·devops
BIGmustang10 小时前
ACK的集群日志接入及ARMS的应用性能监控及主机监控(云监控)
阿里云·云原生
VortMall12 小时前
全维度打磨细节体验,赋能商城稳定有序运营|VortMall 微服务商城 v1.3.11 版本发布
java·微服务·云原生·架构·商城系统·开源商城·vortmall