SpringCloud 向Eureka注册
当客户端向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的默认值),则默认值很好。
有关可配置选项的更多详细信息,请参见EurekaInstanceConfigBean和EurekaClientConfigBean。
要禁用Eureka Discovery Client,可以将eureka.client.enabled
设置为false
。当spring.cloud.discovery.enabled
设置为false
时,Eureka Discovery Client也将被禁用。
更多建议: