SpringCloud 向Eureka注册

2023-08-07 10:26 更新

当客户端向Eureka注册时,它会提供有关其自身的元数据-例如主机,端口,运行状况指示器URL,主页和其他详细信息。Eureka从属于服务的每个实例接收心跳消息。如果心跳在可配置的时间表上进行故障转移,则通常会将实例从注册表中删除。

以下示例显示了最小的Eureka客户端应用程序:

@SpringBootApplication
@RestController
public class Application {

    @RequestMapping("/")
    public String home() {
        return "Hello world";
    }

    public static void main(String[] args) {
        new SpringApplicationBuilder(Application.class).web(true).run(args);
    }

}

请注意,前面的示例显示了普通的Spring Boot应用程序。通过在类路径上使用​spring-cloud-starter-netflix-eureka-client​,您的应用程序将自动在Eureka服务器中注册。如下例所示,需要进行配置才能找到Eureka服务器:

application.yml。 

eureka:
  client:
    serviceUrl:
      defaultZone: http://localhost:8761/eureka/

在前面的示例中,​defaultZone​是一个魔术字符串后备值,它为任何不表达首选项的客户端提供服务URL(换句话说,这是一个有用的默认值)。

defaultZone属性区分大小写,并且需要使用驼峰式大小写,因为serviceUrl属性是Map<String, String>。因此,defaultZone属性不遵循default-zone的常规Spring Boot蛇形惯例。

默认应用程序名称(即服务ID),虚拟主机和非安全端口(从​Environment​获取)分别为​${spring.application.name}​,​${spring.application.name}​和​${server.port}​。

在类路径上具有​spring-cloud-starter-netflix-eureka-client​可使应用程序同时进入Eureka “ 实例 ”(即,它自己注册)和“ 客户端 ”(它可以查询注册表以定位其他服务)。实例行为由​eureka.instance.*​配置键驱动,但是如果确保您的应用程序具有​spring.application.name​的值(这是Eureka服务ID或VIP的默认值),则默认值很好。

有关可配置选项的更多详细信息,请参见EurekaInstanceConfigBeanEurekaClientConfigBean

要禁用Eureka Discovery Client,可以将​eureka.client.enabled​设置为​false​。当​spring.cloud.discovery.enabled​设置为​false​时,Eureka Discovery Client也将被禁用。


以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号