一、Spring Cloud Eureka简介
Spring Cloud Eureka是Spring Cloud Netflix微服务套件中的一部分,它基于Netflix Eureka做了二次封装,主要完成微服务架构中的服务治理功能。Spring Cloud通过为Eureka增加了Spring Boot 风格的自动化配置,我们只需要通过简单的引入依赖和注解配置就能让Spring Boot构建的微服务应用轻松地与Eureka服务治理提醒进行整合。
Eureka服务端,我们也称为服务注册中心,它同其他服务注册中心一样,支持高可用配置。它依托于强一致性提供良好的服务实例可用性,可以应对多种不同的故障场景。如果Eureka以集群模式部署,当集群中有分片出现故障时,那么Eureka就转入自我保护模式。它允许在分片故障的期间继续提供服务的发现和注册,当故障分片恢复运行时集群中的其他分片会把它们的状态再次同步回来。以AWS上的实践为例,Netflix推荐每个可用的区域运行一个Eureka服务端,通过它来形成集群。不同可用区域的服务注册中心通过异步模式互相复制各自的状态,这意味着在任意给定的时间点每个实例关于所有服务的状态是有细微差别的。
Eureka客服端,主要处理服务的注册与发现。客户端服务通过注解和参数配置的方式,嵌入在客户端应用程序的代码中,在应用程序运行时,Eureka客户端向注册中心注册自身提供的服务并定期性的发送心跳来更新它的服务租约。同时,它也能从服务端查询当前注册的服务信息并把它们缓存到本地并周期性的刷新服务状态。
二、Eureka服务治理体系详解
Eureka服务治理 体系主要包括三个角色:服务注册中心、服务提供者以及服务消费者。
基础架构
在Eureka整个服务治理架构中包含了三个核心要素:
- 服务注册中心