Consul vs. SmartStack

Consul vs. SmartStack

SmartStack是一种解决服务发现问题的工具。它有一个相当独特的架构,有4个主要组件:ZooKeeper,HAProxy,Synapse和Nerve。 ZooKeeper服务器负责以一致且容错的方式存储集群状态。然后,SmartStack集群中的每个节点都运行Nerves和Synapses。 Nerve负责对服务运行运行状况检查并向ZooKeeper服务器注册。 Synapse为服务提供商查询ZooKeeper并动态配置HAProxy。最后,客户与HAProxy交谈,HAProxy在服务提供商之间进行健康检查和负载均衡。

Consul是一个更简单,更包含的系统,因为它不依赖于任何外部组件。 Consul使用集成的gossip协议来跟踪所有节点并执行服务器发现。这意味着与SmartStack不同,服务器地址不需要在更改时进行硬编码和更新。

Consul和Nerves的服务注册都可以使用配置文件完成,但Consul还支持API来动态更改正在使用的服务和检查。

对于发现,SmartStack客户端必须使用HAProxy,要求Synapse预先配置所有所需的端点。相反,Consul客户端使用DNS或HTTP API,而无需事先进行任何配置。 Consul还提供“tag”抽象,允许服务提供可用于过滤的版本,主要/次要名称或不透明标签等元数据。然后,客户端只能请求具有匹配标记的服务提供者。

系统在管理健康检查方面也有所不同。神经以类似于Consul代理的方式执行本地健康检查。但是,Consul维护着单独的目录和健康系统。这种划分允许操作员查看每个服务池中的哪些节点,并提供对失败检查的深入了解。Nerve只是在失败的检查中取消注册节点,提供有限的操作洞察力。 Synapse还配置HAProxy以执行其他运行状况检查。这会导致所有潜在的服务客户端检查是否活跃。对于大型舰队,这种N-to-N风格的健康检查可能非常昂贵。

Consul通常提供更丰富的健康检查系统。 Consul支持Nagios风格的插件,可以使用大量的检查目录。 Consul允许进行服务级和主机级检查。甚至还有一个“死人的开关”检查,允许应用程序轻松集成自定义健康检查。最后,所有这些都集成到健康和目录系统中,通过API使操作员能够深入了解更广泛的系统。

除了服务发现和运行状况检查之外,Consul还提供了一个集成的键/值存储,用于配置和多数据中心支持。虽然可以为多个数据中心配置SmartStack,但中央ZooKeeper集群将严重阻碍容错部署。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值