有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

java在Eureka中注册我的配置服务器有什么用处吗?

我正在所有配置服务器客户端的bootstrap.properties文件中指定配置服务器URI spring.cloud.config.uri

那么,向它添加@EnableDiscoveryClient注释并在Eureka中注册配置服务有什么用呢


共 (2) 个答案

  1. # 1 楼答案

    在Eureka上注册您的配置服务器可能有用的原因有多种:

    发现第一次引导

    使用SpringCloudConfig服务时,在引导应用程序时有两种选择,如the documentation所述:

    1. 使用配置优先设置(默认)
    2. 使用发现优先设置

    使用discovery first设置时,所有应用程序都可以通过在Eureka上查找配置服务的URL来检索其配置:

    spring.cloud.config.discovery.enabled=true
    spring.cloud.config.uri=http://config-service
    

    在这种情况下,应用程序将在Eureka上查找名为config-service的服务,并使用给定的主机名和端口进行连接


    可发现性

    一些工具,如Zuul、Spring boot admin。。。将自动发现并使用所有应用程序,例如:

    • SpringBootAdmin可以设置为自动发现所有应用程序来管理它们
    • Zuul将自动将所有匹配/{application-name}/**的路由转发给给定的应用程序
  2. # 2 楼答案

    @EnableDiscoveryClient激活Netflix Eureka{}实现,并告诉它向服务注册表注册自己

    因此,如果没有此注释,您的应用程序将无法将自己注册到任何注册表。因此也不会从任何服务中发现


    编辑:将应用程序注册到DiscoveryServer提供了许多好处,其中一些好处如下:

    • 应用程序独立性:当您将应用程序注册到DiscoveryServer时,它会将其与另一个应用程序分离。这样,在使用应用程序时,您不需要硬编码应用程序的名称和URL
    • 负载平衡:将应用程序注册到DiscoveryServer提供了提供负载平衡的有效方法
    • 同一应用程序的多个实例:为了提供负载平衡,您可以添加单个应用程序的多个实例
    • 弹性:当一个实例不工作时,服务器可以使用断路器有效地处理请求,并帮助使系统具有响应性和弹性