Spring Cloud Netflix之服务发现:Eureka Client

本文深入探讨了Spring Cloud Eureka作为服务发现组件的使用,包括如何引入Eureka客户端,Eureka服务的注册与身份验证,以及健康检查、元数据、安全配置等关键功能。同时讨论了在不同云环境如Cloud Foundry和AWS中使用Eureka的注意事项,并解释了为何服务注册可能较慢及其解决方案。
摘要由CSDN通过智能技术生成

服务发现是基于微服务的体系结构的关键原则之一。手动配置每个客户端或某种形式的约定可能非常困难,而且非常脆弱。Eureka是Netflix服务发现服务器和客户端。可以将服务器配置和部署为高可用性,每个服务器将注册服务的状态复制到其他服务器。

如何引入Eureka客户

要在项目中包含Eureka客户端,请使用starter和group org.springframework.cloud 和artifact id spring-cloud-starter-netflix-eureka-client。有关使用当前的Spring Cloud发布系列设置构建系统的详细信息,请参阅Spring Cloud项目页面。

Eureka注册

当客户端向Eureka注册时,它提供关于自身的元数据,如主机和端口、健康指示器URL、主页等。Eureka从属于服务的每个实例接收心跳消息。如果心跳在可配置的时间表上失败,实例通常会从注册表中删除。

@Configuration
@ComponentScan
@EnableAutoConfiguration
@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引导应用程序)。通过在类路径中使用spring-cloud-starter-netflix-eureka-client,应用程序将自动注册到Eureka服务器。定位Eureka服务器需要配置。例子:

application.yml. 

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

其中“defaultZone”是一个神奇的字符串回退值,它为任何不表示首选项(即它是一个有用的默认值)的客户机提供服务URL。

从环境中获取的默认应用程序名称(service ID)、虚拟主机和非安全端口是${spring.application.name}、${spring.application.name}和${server.port}。如果类路径上有spring-cloud-starter-netflix-eureka-client,应用程序就会同时成为Eureka“实例”(即它注册了自己)和“客户端”(即它可以查询注册表来定位其他服务)。实例行为由eureka.instance驱动。*配置键,但是如果您确保您的应用程序具有spring.application.name(这是Eureka服务ID或VIP的缺省值),那么缺省值是可以接受的。

有关可配置选项的更多细节,请参见EurekaInstanceConfigBean

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值