Hazelcast在其最新版本中引入了一些新的裂脑增强功能

2020-06-03 17:33:36 来源: INeng财经

Hazelcast,开源内存数据管理公司安装集群数万,每月超过5500万的服务器开始,宣布Hazelcast危3.10一般可为生产准备的版本。受开源社区的推动,主要主题包括发布无冲突的复制数据类型(CRDT),Flake ID Generator和一些裂脑保护增强功能。

IMDG 3.10是Hazelcast IMDG的第一个版本,其中包括CRDT实现– CRDT PN-Counter(正负计数器)。CRDT是一种特殊设计的数据结构,用于实现强大的最终一致性。通过这种新的数据结构,更新是在Hazelcast成员上进行的。

CRDT PN计数器允许计数(递增/递减/查询)操作,并保证一旦连接了所有成员,所有计数器上的值便相同。由于操作是本地操作,因此CRDT PN计数器可提供一致的低延迟和高吞吐量,从而使应用程序无论负载如何(例如,点赞,页面浏览量或已连接用户数)都可以实现高性能。其他CRDT数据结构将在将来的版本中发布。

IMDG 3.10还引入了Hazelcast Flake ID Generator,该工具用于生成群集范围内的唯一标识符。在单节点系统中,唯一ID的生成是一个相对简单的过程。但是,分布式实现中可能会出现问题,例如保留唯一性,消除争用并在故障期间保持安全性。Hazelcast片状ID生成器取代了现有的ID生成器。它生成的ID无需Hazelcast成员之间的协调,这意味着即使在裂脑和网络分区失败期间,它也可以生成唯一的ID。

为了响应社区对裂脑保护和整体裂脑功能的反馈,Hazelcast在其最新版本中引入了一些新的裂脑增强功能。网络分区发生后,以前仅Map,ICache和ReplicatedMap支持合并。在IMDG 3.10中,裂脑合并策略可用于许多新结构:ISet,IList,IQueue,Ringbuffer,MultiMap,IAtomicLong,IAtomicReference,IScheduledExecutorService和CardinalityEstimator。

除了为这些新结构提供开箱即用的策略和裂脑合并功能之外,裂脑合并配置和SPI也得到了增强,以确保配置和实现简单明了。

在IMDG 3.9中,IMap,ICache,IQueue和ILock可以使用裂脑保护。现在,它已扩展到其他结构,包括ISet,IList,ISemaphore,ICountDownLatch,IReplicatedMap,IAtomicLong,IExecutorService,IDurableExecutorService,IScheduledExecutorServicem,IMultiMap,IRingBuffer,CardinalityEstimator(HyperLogLog),IAtomicReference和CRDTPN。

通常,IMDG 3.10中的裂脑保护更加灵活。用户现在可以将不同级别的严重性应用于裂脑保护。先前的保护是根据有关当前观察到的成员数量的信息采取的。为了改善这一点并提供更好的保护,裂脑保护现在可根据其他信息(例如成员心跳,成员资格更改,丢失的ICMP ping以及丢失的ping之后的成功ping)起作用。IMDG 3.10包括许多裂脑增强功能,可在裂脑期间为结构提供更好的保护,从而最大程度地减少不一致的读取或写入。

对于企业客户,IMDG 3.10包括针对HD结构的改进的裂脑合并,以及用于合并大型数据集的优化,从而减少了群集协调后HD结构合并所需的时间。IMDG 3.10还包括ICMP故障检测器,该检测器可在ISO OSI第3层上工作,并可以更快地检测死成员。最后,IMDG 3.10是市场上第一个与JCache 1.1兼容的IMDG。

Hazelcast的首席执行官Greg Luck说:“我们之所以被开放源代码项目和开发人员所采用,主要是因为我们听取了社区的反馈并对其采取行动。这个新版本证明了我们社区的力量以及我们从中获得的质量建议。此版本带来最快的裂脑检测,裂脑过程中几乎所有数据结构的突变保护和几乎所有数据结构的全面修复。为了限制所有这些,我们添加了一些无冲突的数据结构,例如用于ID生成的Flake ID和CRDT计数器,作为AtomicLong的无冲突替代方案。”

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。