Eureka:服务的注册与发现,把所有服务的信息都告诉服务注册中心,维护所有服务的信息,以便服务之间调用。
原理:
服务提供方启动后将注册到注册中心,提供IP、名字等信息。
服务调用方作为客户端注册到注册中心后,拉取注册中心的服务列表,在通过负载均衡调用对应的服务提供方。
注册中心创建集群,生成多台实例,注册中心为了检测各个服务的心跳,每30秒向注册的服务发起请求判断。
服务挂掉90秒后将会从服务注册中心剔除。
服务心跳与续约:
服务提供者会每隔30s向EurekaServer发送心跳请求,报告健康状态,Eureka会更新记录服务列表信息,90s后服务没有发送心跳不正常会剔除服务列表。
Eureka与Nacos的区别:
相同点:都支持服务注册和服务拉取,都支持服务提供者心跳方式做健康检查
不同点:Nacos支持服务端主动检测提供者状态:临时实例采用心跳模式,非临时实例采用主动检测模式。临时实例心跳不正常会被剔除,非临时实例则不会被剔除。
Nacos支持服务列表变更的信息推送模式,服务列表更新及时。
Nacos集群默认采用AP方式,当集群中存在非临时实例时,采用CP模式,Eureka采用AP方式。