服务发现 zookeeper ,consul ,etcd 的一些比较

服务发现

目标是减小或消除组件之间的“手动”的链接。当你把你的应用程序推送进生产的时候,全部的这些事情均可以配置:数据库服务器的主机和端口,REST 服务的 URL 等等,在一个高可扩展的架构中,这些链接能够动态改变。一个新的后端能够被添加,一个数据库节点能够被中止。你的应用须要适应这种动态环境。算法

这里有一些工具能够管理这些需求(Apache Zookeeper, etcd, ...)。这些工具的广泛原则是:当启动的时候,一个服务的实例必须注册进配置服务器。当中止的时候(完美中止或是 Crash 了),节点必须从配置服务中移除掉。注册后,其余服务能够在配置服务器中搜索到提供制度服务的实例列表(主机和端口)。数据库

 

  历史 使用者 开发语言 存储 一致性 访问 安全 性能 功能 界面 优势  缺点
zookeeper 悠久,来源于 hadoop 项目 YouTube、eBay、雅虎(还有大量使用hadoop 的) Java 类文件系统 Paxos 没有http 客服端,可是有多种缘由客服端 能够有ACL   本身开发或第三方 的主要优点是其成熟、健壮以及丰富的特性 重,无用特性过多,形成资源的浪费
consul 是HashiCorp公司推出的开源工具   go 键值存储系统 使用 Raft 算法来保证一致性 支持 http 和 dns 协议接口 http 访问 咩有ssl ,可是还有ACL 集成服务注册与发现框架 情,功能目标准确,支持多数据中心  
etcd 短,CoreOS开发 Google的容器集群管理系统Kubernetes、开源PaaS平台Cloud Foundry和CoreOS的Fleet都普遍使用了etcd。 go 键值存储系统 使用Raft保证一致性 curl可访问的用户的API(HTTP+JSON) 可选的SSL客户端证书认证 快速: 单实例每秒 1000 次写操做 本身开发或第三方
相关文章
相关标签/搜索