分布式服务注册和发现consul 简要介绍
2016-07-19 00:00
447 查看
Consul是HashiCorp公司推出的开源工具,用于实现分布式系统的服务发现与配置。与其他分布式服务注册与发现的方案,Consul的方案更"一站式",内置了服务注册与发现框 架、分布一致性协议实现、健康检查、Key/Value存储、多数据中心方案,不再需要依赖其他工具(比如ZooKeeper等)。使用起来也较 为简单。Consul用Golang实现,因此具有天然可移植性(支持Linux、windows和Mac OS X);安装包仅包含一个可执行文件,方便部署,与Docker等轻量级容器可无缝配合。
Consul 的使用场景
docker 实例的注册与配置共享
coreos 实例的注册与配置共享
vitess 集群
SaaS 应用的配置共享
与 confd 服务集成,动态生成 nginx 和 haproxy 配置文件
Consul 的优势
使用 Raft 算法来保证一致性, 比复杂的 Paxos 算法更直接. 相比较而言, zookeeper 采用的是 Paxos, 而 etcd 使用的则是 Raft.
支持多数据中心,内外网的服务采用不同的端口进行监听。 多数据中心集群可以避免单数据中心的单点故障,而其部署则需要考虑网络延迟, 分片等情况等. zookeeper 和 etcd 均不提供多数据中心功能的支持.
支持健康检查. etcd 不提供此功能.
支持 http 和 dns 协议接口. zookeeper 的集成较为复杂, etcd 只支持 http 协议.
官方提供web管理界面, etcd 无此功能.
综合比较, Consul 作为服务注册和配置管理的新星, 比较值得关注和研究.
Consul 的角色
client: 客户端, 无状态, 将 HTTP 和 DNS 接口请求转发给局域网内的服务端集群.
server: 服务端, 保存配置信息, 高可用集群, 在局域网内与本地客户端通讯, 通过广域网与其他数据中心通讯. 每个数据中心的 server 数量推荐为 3 个或是 5 个.
相关文章推荐
- CONSUL install 和启动
- consul docker register
- eclipse 快捷键记录
- 剑指Offer(Java版):打印1到最大的n位数
- 剑指Offer(java版):在O(1)时间删除链表节点
- 剑指offer(Java版):调整数组顺序使奇数位于偶数的前面
- 剑指Offer(Java版):链表中倒数第K个结点
- Ubuntu下的oh-my-zsh,ls彩色显示各种类型的文件
- servlet基础(2)
- Java Web应用的生命周期
- Servlet的生命周期
- Filter(过滤器)
- Java基础:JVM、JRE和JDK分别是什么?
- 6.7 一元多项式的运算
- ruby安装redmine插件
- 返回单链表倒数第K个节点
- asp.net mvc4 for vs2010 v4.0 官方免
- 啊哈C v2.0绿色免费版
- Action Pascal(A语言)v3.0官方版
- 了解下除国外的windows,linux,mac系统,看下国内的操作系统