Spring cloud学习笔记(服务注册与发现框架Eureka)
Eureka的工作机制
Eureka Server:服务注册服务器,也称服务注册中心,各个服务启动后会在Eureka Server中进行注册,Eureka Server的服务注册表会储存所有的可用服务节点的信息。
Eureka Client:服务实例Eureka Client内置有轮询负载均衡器,服务启动后Eureka Client将会向Eureka Server发送心跳服务。
Eureka组件工作原理
Eureka Client注册Eureka Server,Eureka Client中的服务是通过REST调用的。Eureka服务还具有缓存功能,它能够从Eureka Servler查询当前注册的服务信息并缓存本地。
服务提供者和服务消费者
服务提供者:Eureka Client启动之后服务提供者,会通过REST请求将自己注册在Eureka Server中,并维护一个心跳进行服务续约,防止Eureka Server讲服务从服务列表中剔除。
服务消费者:用于获取Eureka Server注册的服务清单,并且该服务清单默认隔离30秒更新一次,服务消费者获取消费清单后,能够根据自己的需求决定调用那个服务,默认采用轮询方式调用,从而实现Eureka Client的负载均衡。
服务提供者和服务消费者是可以相互转换的,一个服务既可能是服务消费者,也有可能是服务提供者。
搭建Eureka Server
(1)创建一个名称为Eureka的Spring Boot项目,添加Eureka Serve依赖。
在pom.xml中添加
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
(2)修改全局配置文件application.properties的后缀名为yml。向其添加Eureka的配置信息。
server:
port: 7000 #服务器端口号
spring:
application:
name:eureka-server # 端口号名称配置
eureka:
client:
fetch-registry: false #表示是否向EurekaServer注册
register-with-eureka: false #表示是否从EurekaServer获取注册信息
service-url:
default-zone:
http://${eureka.instance.hostname}:${server.port}/eureka/
instance: