服务注册和发现-Eureka
文章目录
一、Eureka相关内容
EurekaServer构建
1、构建
创建项目
在启动类上加注解@EnableEurekaServer表示这是一个Eureka服务端注册中心项目
2、引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
3、配置注册组件
server:
port: 20880
eureka:
#服务端实例名称
instance:
hostname: 127.0.0.1
client:
#表示自身不在eureka注册
register-with-eureka: false
#表示自己就是注册中心不需要去检索服务
#不从Eureka获取注册列表
fetch-registry: false
#eureka访问地址
service-url:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
EurekaClient注册
1、引入依赖:
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
2、编写配置:
server:
port: 8888
eureka:
client:
register-with-eureka: true
fetch-registry: true
service-url:
defaultZone: http://127.0.0.1:20880/eureka/
instance:
prefer-ip-address: true
spring:
application:
name: cloud-provider
启动类上添加注解:@EnableEurekaClient
使用同上
二、相关注解和API
注解:
| 序号 | 注解 | 作用 |
|---|---|---|
| Eureka注解 | ||
| 1 | @EnableEurekaServer | 加在启动类上声明这是一个Eureka服务端 |
| 2 | @EnableEurekaClient | 加在启动类上声明这是一个Eureka客户端 |
API:
| 序号 | API | 作用 |
|---|---|---|
| DiscoveryClient | ||
| 1 | getInstances(“cloud-consumer”) | 传入服务的application.name获取服务实例列表List< ServiceInstance> |
| ServiceInstance | ||
| 1 | URI getUri() | 获取服务实例的url地址 |
| 2 | String getHost() | 获取服务实例的主机名 |
| 3 | int getPort() | 获取服务实例的端口号 |
三、Eureka原理部分
Eureka注册
随着服务启动,服务将通过Eureka进行注册,服务将ip、端口号和服务id告诉Eureka进行注册。调用服务时,服务将使用Ribbon来进行客户端侧负载均衡,Ribbon与Eureka通讯,获取注册列表,缓存在本地。Ribbon将定期的ping Eureka服务端,刷新本地缓存。
Eureka的自我保护
Eureka服务端会检查最近15分钟内所有实例的正常心跳占比,如果低于85%就会触发自我保护,将这些失效的服务保护起来。Eureka没60s会检查一次服务健康状态,如果一段时间后,默认90s,被保护的服务还是没有恢复,则将其剔除。如果服务恢复了且正常服务心跳占比高于85%则关闭自我保护。为了保证服务的高可用,考虑到生产环境下网络等其他因素的影响。
服务端配置项:
eureka:
server:
## 关闭或者开启
enable-self-preservation: false
## 服务端扫描间隔
eviction-interval-timer-in-ms: 2000
客户端配置项:
eureka:
instance:
## 客户端向服务端发送心跳时间间隔
lease-renewal-interval-in-seconds: 2
本文介绍了如何使用Spring Cloud中的Eureka实现服务注册与发现。包括构建Eureka Server作为服务注册中心,配置Eureka Client进行服务注册,以及Eureka的工作原理,如自我保护机制等。
1949

被折叠的 条评论
为什么被折叠?



