1.Eureka的介绍
- 什么是Eureka?
Eureka是Netflix开发的服务发现框架,本身是一个基于REST的服务,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。SpringCloud将它集成在其子项目spring-cloud-netflix中,以实现SpringCloud的服务发现功能。
- 原理图
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/38e3d10628688aca717e50abb8ef9d1c.png)
- Eureka:就是服务注册中心(可以是一个集群),对外暴露自己的地址
- 服务提供者:启动后向Eureka注册自己的信息(地址,提供什么服务)
- 服务消费者:向Eureka订阅服务,Eureka会将对应服务的所有提供者地址列表发送给消费者,并且定期更新
- 心跳(续约):提供者定期通过http方式向Eureka刷新自己的状态
2.使用案例
- 在父工程下创建一个springboot子工程(eureka_server),导入依赖
![在这里插入图片描述](https://i-blog.csdnimg.cn/blog_migrate/1c5594f6a7ea86ff4c4ca83cb7cf4449.png)
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
server:
port: 7001 #端口号
spring:
application:
name: eureka-server # 应用名称,会在Eureka中作为服务的id标识(serviceId)
eureka:
client:
register-with-eureka: false #是否将自己注册到Eureka中
fetch-registry: false #是否从eureka中获取服务信息
service-url:
defaultZone: http://localhost:7001/eureka # EurekaServer的地址
- 创建启动类,@SpringBootApplication、@EnableEurekaServer两个注解,用于开启Eureka服务,代码如下:
@SpringBootA