`

分布式内存数据库 - Hazelcast

阅读更多

网址: http://www.hazelcast.com/

下边是它的宣传内容:

hazelcast是一个开放源码集群和高度可扩展的数据分发平台,这是为Java:
1. 快如闪电;数以千计的运算/秒。
2. 故障安全;崩溃后没有丢失数据。
3. 作为新服务器的动态调整 。
4. 超级简单的使用 ,包括一个单独的jar。

Hazelcast与各种分布式数据结构,分布式缓存功能,弹性的性质,memcache的支持,与Spring和Hibernate的集成,更重要的是这么多的快乐用户,是功能丰富,企业的准备和开发人员友好的内存数据网格解决方案。

Hazelcast是一个Java的开源分布式内存实现,它具有以下特性:

01    Distributed implementations of java.util.{Queue, Set, List, Map}
02    Distributed implementation of java.util.concurrent.ExecutorService
03    Distributed implementation of java.util.concurrency.locks.Lock
04    Distributed Topic for publish/subscribe messaging
05    Transaction support and J2EE container integration via JCA
06    Distributed listeners and events
07    Support for cluster info and membership events
08    Dynamic HTTP session clustering
09    Dynamic clustering
10    Dynamic scaling to hundreds of servers
11    Dynamic partitioning with backups
12    Dynamic fail-over
13    Super simple to use; include a single jar
14    Super fast; thousands of operations per sec.
15    Super small; less than a MB
16    Super efficient; very nice to CPU and RAM

------------------------------------------------------------------------

Hazelcast是一个高度可扩展的数据分发和集群平台。特性包括: 
提供java.util.{Queue, Set, List, Map}分布式实现。 
提供java.util.concurrency.locks.Lock分布式实现。 
提供java.util.concurrent.ExecutorService分布式实现。 
提供用于一对多关系的分布式MultiMap。 
提供用于发布/订阅的分布式Topic(主题)。 
通过JCA与J2EE容器集成和事务支持。 
提供用于安全集群的Socket层加密。 
支持同步和异步持久化。 
为Hibernate提供二级缓存Provider 。 
通过JMX监控和管理集群。 
支持动态HTTP Session集群。 
利用备份实现动态分割。 
支持动态故障恢复。

-------------------------------------

 

安装也非常方便:

1    Download hazelcast-version.zip from www.hazelcast.com
2    Unzip hazelcast-version.zip file
3    Add hazelcast.jar file into your classpath

要使用分布式的Map,只需要以下代码即可实现:

  

import com.hazelcast.core.Hazelcast;
import java.util.Map;
import java.util.Collection;
 
Map<String, Customer> mapCustomers = Hazelcast.getMap("customers");
mapCustomers.put("1", new Customer("Joe", "Smith"));
mapCustomers.put("2", new Customer("Ali", "Selam"));
mapCustomers.put("3", new Customer("Avi", "Noyan"));
 
Collection<Customer> colCustomers = mapCustomers.values();
for (Customer customer : colCustomers) {
    // process customer
}
 
 

 

Hazelcast的官网上面有一个非常直观的视频:http://www.hazelcast.com/screencast.jsp,建议有兴趣的朋友花10分钟时间看看。

还有一份PDF可以参考:http://roma.javaday.it/javaday2010/sites/default/files/ClusteringHazelcast-javaday.pdf。

Hazelcast作为一款与ZooKeeper类似的开源实现,我在网上找了一篇相关的文章:http://blog.armstrongconsulting.com/?p=132 在这篇文章中有一段这样写道:

I had occasional hangs with Hazelcast 1.8.4 which caused me to switch to Zookeeper. As expected, Zookeeper was a lot harder to use than Hazelcast – you need Zookeeper installed on 3 servers. There’s no official java client, just some recipes and I found an implementation of Zookeeper locks called Cages on google code. For a java developer, Hazelcast is obviously way easier to use. 

另外,在Hazelcast的官方文档中,提到了Hazelcast的集群机制:

If there is no existing node, then the node will be the first member of the cluster. If multicast is enabled then it will start a multicast listener so that it can respond to incoming join requests. Otherwise it will listen for join request coming via TCP/IP.

If there is an existing cluster already, then the oldest member in the cluster will receive the join request and check if the request is for the right group. If so, the oldest member in the cluster will start the join process.

In the join process, the oldest member will:

  • send the new member list to all members

  • tell members to sync data in order to balance the data load

Every member in the cluster has the same member list in the same order. First member is the oldest member so if the oldest member dies, second member in the list becomes the first member in the list and the new oldest member.

 

从上边的文字来看,它的这种集群机制是内置的。可以拿来直接使用。

它分好几种版本:

hazelcast企业版

hazelcast企业版(EE)商业授权版的Hazelcast。 它有附加功能,如弹性记忆和安全。

 

hazelcast弹性记忆

默认情况下,,Hazelcast商店的分布式数据(映射条目,队列中的项目)这是垃圾收集的Java堆。 为您堆变大了,垃圾收集停顿几十秒,严重影响应用程序的性能和响应时间可能会导致您的应用程序。 弹性记忆Hazelcast离堆内存存储,以避免GC暂停。 即使你有TB的内存有大量的更新缓存,GC将有几乎没有影响;导致更多的可预见的延迟和吞吐量。

 

安全

hazelcast安全性是基于JAAS的可插拔的安全框架,可用于验证群集成员和客户,做客户端操作的访问控制检查。与安全框架,采取控制谁可以是群集的一部分,或作为客户端和业务允许或不连接。 不要让未经授权的当事方接触群集!

检查出的安全文件详细信息。

hazelcast社区版

hazelcast CE是一个开放源码集群和高度可扩展的数据分发平台,为Java。 hazelcast让你轻松跨越群集的份额和分割您的应用程序数据。 hazelcast是一个对等的解决方案(没有主节点,每个节点是一个对),所以不存在单点故障。 JVM的正在运行Hazelcast的动态集群。

hazelcast是纯Java是简单,只要使用java.util中。{队列,地图,集,名单}。 只需添加到你的classpath hazelcast.jar开始编码。

分享到:
评论

相关推荐

    vertx-hazelcast-3.3.0.CR1.zip

    标题中的"vertx-hazelcast-3.3.0.CR1.zip"指的是Vert.x框架的一个扩展,它集成了Hazelcast内存数据网格。Vert.x是一个轻量级、高性能的Java库,用于构建反应式应用程序。它提供了一种事件驱动、非阻塞I/O的编程模型...

    presto-hazelcast:用于 Hazelcast 的 PrestoDB 连接器。 在内存数据网格上运行 SQL

    Presto 是一个开源分布式 SQL 查询引擎,用于针对从千兆字节到 PB 级的各种规模的数据源运行交互式分析查询。 这在使用PrestoDb对Hazelcast上运行SQL查询实验。 它启动一个 PrestoDb 服务器和一个嵌入式 Hazelcast ...

    wp-hazelcast:使用Hazelcast的WordPress对象缓存

    - **memcached**:这是一种广泛用于Web应用的分布式内存对象缓存系统,通常用于减轻数据库负载。在这里可能是用来对比或作为Hazelcast的替代方案提及的。 - **nosql**:非关系型数据库,Hazelcast属于这一类,提供了...

    shib-hazelcast-storage-service

    "shib-hazelcast-storage-service" 是一个特定的服务,它与 Shibboleth 身份提供者(IdP)相关,利用 Hazelcast 作为存储解决方案。Shibboleth 是一个开源项目,主要用于身份验证和授权,广泛应用于教育和研究机构。...

    分布式缓存技术-Redis和Memcached选型对比-性能测试

    分布式缓存技术是现代高并发、高性能Web应用中不可或缺的一部分,它们通过将数据存储在内存中,以提高读取速度,降低对数据库的依赖。在众多的缓存解决方案中,Redis和Memcached是最受欢迎的两个选择。本文将深入...

    内存数据库 实时交易系统的催化剂

    内存数据库是现代信息技术领域中的一个重要概念,特别是在实时交易系统中,它扮演着催化剂的角色,显著提高了数据处理的速度和效率。本文将深入探讨内存数据库的基本原理、优势、应用场景以及与实时交易系统的结合。...

    hazelcast-3.8.1 tar包和zip包

    1. 分布式缓存:Hazelcast提供了一个分布式内存缓存,可以将数据存储在多个节点上,从而提高读取速度并减轻数据库的压力。 2. 分布式Map:Hazelcast的核心组件之一是分布式Map,它允许在集群中的各个节点之间共享和...

    hazelcast-5.2.3.zip

    Hazelcast是一款开源的内存数据网格(In-Memory Data Grid, IMDG)解决方案,它提供分布式内存计算和存储,能够显著提升应用的性能和可扩展性。Hazelcast 5.2.3是该产品的其中一个版本,包含了多个优化和新特性,...

    hazelcast-management-center-4.0.1.zip

    这个压缩包 "hazelcast-management-center-4.0.1.zip" 包含了版本为 4.0.1 的管理中心软件,它允许用户直观地查看和控制他们的 Hazelcast 实例。在深入了解 Hazelcast 和其管理中心之前,我们先来了解一些基本概念。...

    hazelcast-3.12.2.zip

    Hazelcast是一款开源的内存数据网格(In-Memory Data Grid, IMDG)解决方案,它提供分布式内存计算和存储,能够显著提升应用的性能和可扩展性。Hazelcast 3.12.2是该软件的一个版本,包含了对之前版本的改进和修复。...

    springmvc+mybatis+Hazelcast试验

    Hazelcast是一款开源的内存数据网格,它可以提供分布式内存存储和计算。在分布式环境中,Hazelcast可以作为缓存解决方案,也可以作为微服务间的共享数据存储。它支持分布式Map、Queue、Topic、List、Set等多种数据...

    cumulonimbus:Java 8+的分布式数据库

    Cumulonimbus的核心特性在于其对Hazelcast的支持,Hazelcast是一款开源的内存数据网格解决方案,能够提供分布式内存计算和存储。 1. **Hazelcast集成**: - Hazelcast 是Cumulonimbus的重要组成部分,它提供了...

    hazelcast API

    8. **持久化存储**:除了内存存储,Hazelcast 还支持与外部持久化存储集成,如数据库或文件系统,以实现数据的持久化和容灾恢复。 9. **监控和管理**:Hazelcast 提供了直观的管理控制台和JMX接口,允许管理员监控...

    hazelcast-3.9

    1. 分布式缓存:Hazelcast的核心功能之一是提供分布式缓存服务,允许你在多个节点之间共享数据,从而减少数据库的负载。它支持多种缓存模式,如LRU(Least Recently Used)和LFU(Least Frequently Used)策略,确保...

    Hazelcast-persistence:Hazelcast 在不同数据存储中的持久性 PoC

    Hazelcast 是一个开源的内存数据网格...通过学习 Hazelcast-persistence-master 中的示例,我们可以掌握如何有效地利用 Hazelcast 实现数据在不同存储中的持久化,从而在复杂的企业级应用中确保数据的安全和一致性。

    hazelcast-hibernate3-3.1.5.zip

    关于Hazelcast-Hibernate3的使用,开发者可以将Hazelcast作为二级缓存来加速数据的读取,减少数据库的负载。通过配置,可以指定哪些实体或属性应该被缓存,以及缓存策略(如时间过期、容量限制等)。此外,Hazelcast...

    分布式缓存

    - Hazelcast:提供内存数据网格解决方案,不仅包含缓存功能,还支持分布式计算和事件驱动。 4. **分布式缓存的设计与实现**: - 数据一致性:在分布式环境中,如何保证数据的一致性是关键挑战,常见的一致性模型...

    分布式Java应用

    它们能够在内存中存储数据,减少数据库的访问压力,同时通过集群化实现数据的共享和复制。 在微服务架构中,服务发现和治理也是重要一环。Netflix的Eureka和Zuul,或者Spring Cloud的相应组件,可以用来注册服务、...

    hazelcast-test-samples:Testy 我采样 Hazelcast do magisterki

    这个“hazelcast-test-samples”项目显然是一个针对Hazelcast的测试样本集合,用于帮助开发者更好地理解和使用Hazelcast在实际项目中的功能。 1. **内存数据网格**:Hazelcast提供了一个分布式的内存数据结构,如...

    300分钟吃透分布式缓存pdf和markdown

    **Hazelcast** 是一个开源的内存数据网格,除了提供缓存功能外,还包含分布式计算、分布式事件和任务调度等功能。Hazelcast支持自动故障恢复和数据分区,适合构建大规模、高可用的分布式应用。 学习分布式缓存,你...

Global site tag (gtag.js) - Google Analytics