Netflix开源了他们另一个架构——Eureka,它是一个RESTful服务,用来定位运行在AWS域(Region)中的中间层服务。
Eureka由两个组件组成:Eureka服务器和Eureka客户端。Eureka服务器用作服务注册服务器。Eureka客户端是一个java客
户端,用来简化与服务器的交互、作为轮询负载均衡器,并提供服务的故障切换支持。Netflix在其生产环境中使用的是
另外的客户端,它提供基于流量、资源利用率以及出错状态的加权负载均衡。
除负载均衡外,Netflix中的其他开源工具也使用了Eureka。比如,Asgard是一个云部署管理工具,它使用Eureka来执行
回滚和推送操作。Priam使用Eureka在维护期停止Cassandra实例。Evcache使用Eureka识别节点。而Eureka使用Archaius
进行配置。
当一个中间层服务首次启动时,他会将自己注册到Eureka中,以便让客户端找到它,同时每30秒发送一次心跳。如果一个
服务在几分钟内没有发送心跳,它将从所有Eureka节点上注销。一个Amazon域中可以有一个Eureka节点集群,每个可用区
(Availability Zone)至少有一个Eureka节点。AWS的域相互之间是隔离的。