BT

如何利用碎片时间提升技术认知与能力? 点击获取答案

Consul 0.7新增原子键/值更新和ACL复制特性,提升了协议健壮性

| 作者 Grischa Ekart 关注 0 他的粉丝 ,译者 谢丽 关注 9 他的粉丝 发布于 2016年9月28日. 估计阅读时间: 3 分钟 | 如何结合区块链技术,帮助企业降本增效?让我们深度了解几个成功的案例。

9月14日,Hashicorp发布了其开源分布式服务发现和配置工具Consul的0.7版本。该版本号称是一个“非常重大的版本”,引入了键/值更新事务、跨数据中心复制ACL,并改进了其RaftGossip协议实现,优化了相应的计时方式。

Consul已经成为现代分布式应用程序和数据中心的重要组成部分。据Hashicorp介绍,“这个版本的重点是简化Consul集群操作,为未来版本不断地改善操作打下重要的基础。”变更日志列出了该版本带来的特性、改进和Bug修复,下面是其中一些最重要的变化。

原子键/值更新

新的/v1/txn端点可以在单个原子事务中处理Consul键/值配置数据存储上的多个更新。单个更新可以包含多达64个键/值操作及一系列可能的动作。除了一般的读取、设置和删除动作外,它还支持锁操作、检查和条件修改(检查-设置)。成组的更新被作为一个JSON数组传入。如果有任何操作没有成功,则整个事务都会回滚,结果和错误都通过一个数组返回。

多数据中心ACL复制

在多数据中心Consul配置中,新的ACL复制特性允许用户将整套的ACL从ACL数据中心同步到非授权的数据中心,防止网络分区。在0.7版本之前,非授权数据中心的ACL只是一份缓存,在WAN故障时可能会导致ACL不完整。

改进健壮性、性能和操作

  • 更新后的Raft库改进了集群成员变化后的处理过程以及仲裁失败后的恢复过程。而且现在,默认的Raft计时据称在性能较低的服务器上更有效了。

  • 通过一个名为Lifeguard特性扩展了Gossip协议,可以防止不能满足软实时性要求的退化节点“导致其他健康节点的serfHealth波动”。

  • 为了重新分配查询负载,Consul代理会定期连接可用的Consul服务器。

  • Consul操作员可以使用consul operator命令管理Raft配置,如查看Raft配置:

    consul operator raft -list-peers

    或者不停机手动删除对等节点中的过期服务器:

    consul operator raft -remove-peer -address="127.0.0.1:8300"

Consul升级指南详细介绍了如何从特定的版本升级到0.7。由于不再支持Consul协议v1,所以新版本和0.3之前的版本是不兼容的。

在此次更新之前,Consul今年(3月16日)还增加了支持模板的预处理查询和一个官方Docker Consul镜像

查看英文原文Consul 0.7 Adds Atomic K/V Updates, ACL Replication and Improved Protocol Robustness

评价本文

专业度
风格

您好,朋友!

您需要 注册一个InfoQ账号 或者 才能进行评论。在您完成注册后还需要进行一些设置。

获得来自InfoQ的更多体验。

告诉我们您的想法

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我
社区评论

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

允许的HTML标签: a,b,br,blockquote,i,li,pre,u,ul,p

当有人回复此评论时请E-mail通知我

讨论

深度内容

登陆InfoQ,与你最关心的话题互动。


找回密码....

Follow

关注你最喜爱的话题和作者

快速浏览网站内你所感兴趣话题的精选内容。

Like

内容自由定制

选择想要阅读的主题和喜爱的作者定制自己的新闻源。

Notifications

获取更新

设置通知机制以获取内容更新对您而言是否重要

BT