Spring Cloud Netflix(一)
介绍
Spring Cloud Netflix
是由 Netflix
开源的,并且由 Spring
项目集成到 Spring Cloud
中的,主要用于构建大型分布式项目。
Spring Cloud Netflix
通过自动配置来绑定到 Spring
项目中,使用注解便可以快速启用相应的功能。
Spring Cloud Netflix
主要提供以下功能
Eureka
:服务发现Hystrix
:断路器Zuul
:智能路由Ribbon
:客户端的负载均衡
Eureka
Eureka
主要提供服务注册、服务发现功能,这是微服务架构中的核心功能之一。
Eureka
主要分为 Server
和 Client
。
Client
是应用端,是向外提供的服务。
Server
是服务端,即注册中心,存储了所有已注册 Client
的元数据信息。例如:主机、端口、健康指标、首页等其他信息。
Client
会发送心跳给 Server
,用于表明服务正常可用。如果 Server
不能定时接受到 Client
的心跳信息,便会将 Client
的 Instance
移除。但是如果在两次心跳之间服务挂掉,那么 Server
中的 Client
不会移出,有一定的信息延迟。
1. 搭建 Eureka-Server
1.1. 依赖
Eureka-Server
的依赖是 spring-cloud-starter-netflix-eureka-server
。
pom.xml
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</d