Eureka 是一个服务发现工具。该体系结构主要是客户端/服务器,每个数据中心有一组Eureka服务器,通常每个可用区域一个。通常Eureka的客户使用嵌入式SDk来注册和发现服务。对于非本地集成的客户,使用功能区边框等透过Eureka透明的发现服务。
Eureka提供了一个弱一致的服务视图,使用尽力而为复制。当客户端向服务器注册时,该服务器将尝试复制到其他服务器,但不提供保证。服务注册的生存时间(TTL)较短,要求客户端对服务端心存感激,不健康的服务或节点将停止心跳,导致他们超时并从注册表中删除。发现请求可以路由到任何服务,由于尽力而为的赋值,这些服务可能会导致陈旧或丢失数据。这个简化的模型允许简单的群集管理和高科扩展性。
Consul提供了一套超级功能,包括更丰富的健康检查,关键/价值存储以及多数据中心意识。Consul需要每个数据中心都有一套服务器。以及每个客户端的代理,类似于像ribbon. Consul代理允许大多数应用程序成为Consul不知情者,通过配置文件执行服务注册并通过DNS或负载器。
Consul 提供了强一致性保证。因为服务器使用RAFF复制状态。Consul支持丰富的健康检查。Consul强烈的一致性意味着他可以作为领导选举和集群协调的锁定服务。Eureka不提供类似的保证,并且通常需要为执行协调或具有更强一致性需求服务Zokeeper
网友评论