eureka是Spring Cloud的服务治理模块,主要负责服务注册与服务发现

主要有两部分组成:eureka-server和eureka-client

eureka-server主要负责服务注册

eureka-client主要负责服务发现,就是将服务注册到服务注册中心

详解

想要实现一个服务注册中心的功能非常简单,只需要在项目的启动类EurekaServerApplication上使用@EnableEurekaServer注解即可

Spring Cloud Eureka整理

通常情况下,eureka-server也会将自己当做客户端进行注册,需要禁止它的这种客户端注册行为,在application.yml中增加配置

Spring Cloud Eureka整理

启动服务,访问127.0.0.1:14005就可以看到eureka-server的eureka界面

Spring Cloud Eureka整理

euraka-client

每一个实例注册之后需要向注册中心发送心跳,当client向server注册时,它会提供一些元数据,例如主机和端口,URL,主页等。Eureka server 从每个client实例接收心跳消息。 如果心跳超时,则通常将该实例从注册server中删除。

想要实现一个服务提供方也很简单,只要在项目的启动类EurekaClientApplication上使用@EnableEurekaClient注解即可

Spring Cloud Eureka整理

心跳机制:eureka-client会定期往eureka-server发送心跳反应,server会根据心跳判断当前服务是否存活,这里会有一个时间配置,就是多久发送一次心跳,一般使用默认值即可。(待补充)

心跳机制会涉及到服务注册的自我保护机制,就是在服务 在15分钟内如果心跳失败率在85%以上,服务就会启动自我保护机制,注册到改eureka-server 的client并不会下线,而是等待服务恢复,如果在此期间有访问的话,就会造成通讯异常等。

Spring Cloud Eureka整理

false即为关闭自我保护机制。

一般较好的处理方法就是开启server的自我保护机制,同时将server配置为集群,将请求分散发送,只要有一个server返回正常的信息就可以了。

相关文章:

  • 2021-11-21
  • 2021-05-05
  • 2022-01-07
猜你喜欢
  • 2021-08-19
  • 2021-09-23
  • 2021-11-14
  • 2021-09-07
  • 2022-12-23
  • 2021-04-05
  • 2021-09-08
相关资源
相似解决方案