微服务三 Eureka
什么是Eureka?
Eureka是Netflix开发的服务发现框架,Springcloud将它集成在子项目spring-cloud-netflix中。Eureka包含两个组件:Eureka Server(注册中心) 和Eureka Client(服务注册)。Eureka Server提供服务注册服务,每个节点启动后,会在Eureka Server中进行注册,并且在应用启动以后,将会以默认30秒的周期向Eureka Server发送心跳,如果Eureka Server在多个心跳周期内没有接收到某个节点的心跳,Eureka Server将会从服务注册表中把这个服务节点移除(默认90秒)。
EurekaServer的原理图
Eureka:就是服务注册中心
ApplicationServer:就是提供者,启动应用后向Eureka注册自己的信息
ApplicationClient:消费者,向Eureka订阅服务,定期从Eureka拉取服务列表
renew:心跳,就是续约。提供者会定期通过http方式来向Eureka刷新自己的状态,默认的时间周期为30秒,如果Eureka在90秒后还未收到服务提供者发来的心跳时,那么它就会认定该服务已经死亡就会注销这个服务,这些时间参数都可以在配置文件中进行更改。
自我保护机制:如果在15分钟内超过85%的节点都没有正常的心跳,那么Eureka就认为客户端与注册中心出现了网络故障,所以不会再接收心跳,也不会删除服务。