服务发现是基于微服务的架构的关键原则之一。尝试手动配置每个客户端或某种形式的约定可能会很困难并且很脆弱。 Eureka 是 Netflix 服务发现服务器和客户端。服务器可以配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。
要将 Eureka 客户端包含在您的项目中,请使用组 ID 为 org.springframework.cloud 且工件 ID 为 spring-cloud-starter-netflix-eureka-client 的启动器。请参阅 Spring Cloud 项目页面,了解有关使用当前 Spring Cloud Release Train 设置构建系统的详细信息。
当客户端注册到 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 Server 注册。需要配置来定位 Eureka 服务器,如下例所示:
application.yml
eureka: client: serviceUrl: defaultZone: http://localhost:8761/eureka/
在前面的示例中,defaultZone 是一个神奇的字符串后备值,它为任何不表达偏好的客户端提供服务 URL(换句话说,它是一个有用的默认值)。
以上是春天尤里卡的详细内容。更多信息请关注PHP中文网其他相关文章!