写点什么

Hazelcast 2.0 发布,推出堆外存储和分布式备份

  • 2012-04-07
  • 本文字数:1172 字

    阅读完需:约 4 分钟

Hazelcast 是面向 Java 的缓存、集群及数据分发解决方案。最近,它的 2.0 版本发布了。作为新版本的一部分,该产品提供了商用企业版和免费的开源社区版。

其中,社区版在 Apache 许可 2.0 下发布,并托管于 Google Code 中。2.0 版本包含了一个分布式备份功能,用以确保每个结点都能均匀地被所有其他结点备份。Hazelcast 创始人 Talip Ozturk 告诉 InfoQ 说,“我相信我们的备份分发是一个全新的解决方案”。

采用分布式数据备份,结点在丢失时仅会对集群造成很小的影响。这点在内存中有大数据时尤为重要。

Hazelcast 解决方案的工作原理是将差不多大小的数据分布到集群中的每个结点上。例如,在一个 50 个结点的结点集群中,每个结点存储 20GB 的基本数据以及 20GB 的备份数据。结点 1 数据会分成 1/49 大小的若干份,并由剩余 49 个结点中的每一个进行备份。如果结点 1 下线,那么任何迁移都不用就可以让集群保持均衡。随着新节点加入到系统中,Hazelcast 会慢慢地将数据迁移到新结点来让所有结点上的数据保持均衡。

新版 2.0 中的其他特性包括:

  • 并行 IO,它将对内(In)和对外(Out)通信联合到单个线程中(在 1.0 版本中,每个成员会拥有对内和对外线程各一个,用作处理与其他使用 NIO 信道的成员进行通信)。
  • 改善连接管理,Hazelcast 在破损连接被宣布死亡之前会尝试进行修复。
  • 为 Queue、List、Set 和 Topic 提供新的事件容器。

另外,企业版增加了堆外(off-heap)存储(注:Hazelcast 中将其称作弹性内存(Elastic Memory))、附加的安全能力和一个原生的 C#客户端。

出于安全考虑,该产品包含了一份基于 JAAS 的实现,用作验证集群成员及客户端,并对客户端操作进行访问控制检查。访问控制可根据终端点委托或代码进行管理,而安全性可以通过使用 XML 或 API 启用和配置。

弹性内存本质上是一种解决过长 GC 中断时间(pause time)的变通方案。 Azul 推出的 C4 收集器是一个例外,它消除了所有的 GC 中断。借助它,商业 JVM 中的垃圾收集中断时间会随内置堆的大小明显增长。弹性内存可以减少 JVM 堆的大小,从而降低垃圾收集的中断时间。关于这点,Ozturk 给出了一个大致的建议:

如果你的每个 JVM 都拥有 10GB 以上的数据,或者有超过 1KB 的值对,那么可以使用弹性内存。而如果你的每个 JVM 数据在 4GB 左右,或者少于 a KB,那么我们不建议使用弹性内存。

Hazelcast 的弹性内存采用直接字节缓存区(direct byte buffer)实现,其中每个缓存区分为若干块,每块默认大小为 1KB。这个特性类似于 Oracle 的 Coherence 、Terracotta 的 Ehcache 以及一些其他提供商的缓冲方案。

企业版许可模型基于每个订阅和结点,相关价格信息可通过 sales@hazelcast.com 查询。另外,Hazelcast 还为社区版提供了两个不同级别的支持,参考价格公布在了他们的网站上。

查看英文原文: Hazelcast 2.0 Released with Off-Heap Storage and Distributed Backups

2012-04-07 10:443677
用户头像

发布了 125 篇内容, 共 40.9 次阅读, 收获喜欢 5 次。

关注

评论

发布
暂无评论
发现更多内容

翟佳:从技术工程师到「网红」开源创业者

腾源会

开源 开源公司

3种基于深度学习的有监督关系抽取方法

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

MyBatis3源码解析(8)MyBatis与Spring的结合

Java mybatis

Mybatis3 源码解析系列

Java mybatis

启发式智能任务调度的探索

鲸品堂

算法 函数 任务调度

开源demo| 你画我猜——让你的生活更有趣

anyRTC开发者

音视频 互动白板 开源demo 你画我猜 社交娱乐

移动开发平台WorkPlus | 快速实现企业移动应用集成化

BeeWorks

MyBatis3源码解析(7)TypeHandler注册与获取

Java mybatis

文本检测算法新思路:基于区域重组的文本检测

华为云开发者联盟

文本检测 区域重组 文本检测算法 PixelLink TextSnake

后端新手如何从 0 到 1 打造一款 Apache APISIX 插件

API7.ai 技术团队

后端 插件 Apache APISIX APISIX 网关

【OH干货】如何向OpenHarmony社区提交代码

拓维信息

OpenHarmony

MyBatis Demo 编写(2)结果映射转换处理

Java mybatis

如何选择充血模型和贫血模型

蜜糖的代码注释

DDD 领域建模 2月月更

Kubernetes集群统一日志管理方案(Elasticsearch+Filebeat+Kibana+Metricbeat)搭建教程

山河已无恙

Kubernetes 2月月更

web前端培训: Vue3面试考点分享

@零度

前端开发 Vue3

2022 年值得关注的 十大 DevOps 最佳实践

飞算JavaAI开发助手

MyBatis Demo 编写(1)基础功能搭建

Java mybatis

架构训练营模块二作业

苍狼

作业 模块二 架构训练营5期

java培训:JVM 锁的优化和逃逸分析

@零度

JVM JAVA开发

国内首款! 亚信科技数据库AntDB亮相中国信通院性能测试工具发布会

亚信AntDB数据库

HTTP缓存协议实战

vivo互联网技术

缓存 浏览器 服务器 HTTP

mark: centos 镜像下载地址

webrtc developer

Linux centos

【C语言】一篇速通常量变量

謓泽

编程语言 C语言 2月月更 常量变量

Linux系统编程-进程间通信(共享内存)

DS小龙哥

Linux 共享内存 2月月更

设计模式【15】--从审批流中学习责任链模式

秦怀杂货店

Java 设计模式

与Karmada一起航行:海量节点的多集群管理

华为云原生团队

容器 云原生 k8s k8s多集群管理 多云管理

大数据培训:Flink全链路延迟的测量方式及原理

@零度

flink 大数据开发

前端技术分享:页面性能优化问题复盘

有道技术团队

前端

Android 12 “致命”崩溃解决之路

阿里巴巴终端技术

android 崩溃分析 客户端 UC内核

X6在数栈指标管理中的应用

袋鼠云数栈

Java 大数据 前端

【高并发】深入解析Callable接口

冰河

Java 并发编程 多线程 高并发 异步编程

Hazelcast 2.0发布,推出堆外存储和分布式备份_Java_Charles Humble_InfoQ精选文章