当前位置: 首页 > 工具软件 > Hazelcast > 使用案例 >

hazelcast java_hazelcast初探

轩辕实
2023-12-01

Hazelcast作为一个高度可扩展的数据分发和集群平台,提供了高效的、可扩展的分布式数据存储、数据缓存。Hazelcast是开源的,在分布式技术方面,Hazelcast提供了十分友好的接口供开发者选择,如Map,Queue,ExecutorService, Lock和Jcache。

Hazelcast的稳定性很高,分布式应用可以使用Hazelcast进行存储数据、同步数据、发布订阅消息等。Hazelcast是基于Java开发的,其客户端有Java, C/C++, .NET以及REST。Hazelcast同时也支持memcache协议。它很好的支持了Hibernate,可以很容易的在当今流行的数据库系统中应用。

如果你在寻找一个基于内存的、可扩展的以及对开发者友好的NoSql,那么Hazelcast是一个很不错的选择!

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.优点

a. Hazelcast开发比较简单

Hazelcast是基于Java写的,没有任何其它的以来。它提供的API跟Java util包很像。对于开发者来说,只需要加入hazelcast.jar,然后就可以快速使用在多个JVM之间的数据共享(分布式)。

b. Hazelcast的节点之间是平等的(Peer-to-Peer)

不像其它很多的NoSql解决方案,Hazelcast的节点之间是对等的(没有主次之分)。所有的节点存储的数据都是相等的,在应用中可以很容易的增加一个Hazelcast节点。或者以客户端-服务端的形式使用。

c. Hazelcast是可扩展的

Hazelcast的扩展性非常强,可以很简单的增加或减少节点。可以自动的监听节点的增加,并以线性的方式增加存储空间和能力。节点之间的通信是以TCP的方式建立的。

d. Hazelcast效率很高。

将数据存储在内存中,所以是非常高效的,包括读操作和写操作。

e. Hazelcast是可备份的

Hazelcast的数据会在多个节点上进行备份。一旦一个节点失败了,数据将会从别的节点上进行恢复。

f. Hazelcast页面元素齐全

页面可以看到map,list等数据内容,以及一些容量的仪表图.可以看到很多有用的数据,包括每个Map的请求次数等.

2. 使用场景

分布式缓存,通常使用在数据库之前的那一层

缓存服务器

NoSql的数据存储

Spring cache

微服务的结构

储存临时数据,如web的session等

3. Hazelcast的数据拆分

Hazelcast的数据拆分叫做间隔(Partitions)。默认情况下,Hazelcast会将数据拆分成271个间隔(总数,并不是单个单点)。当传入一个key时,Hazelcast会对它进行序列化,以及进行hash的算法等算出一个数值,通过该数值它存放在相应的间隔中(271个的其中一个)。在不同的节点中存放相同数量的间隔。Hazelcast还会生成备份的间隔,同样也是存放在这些间隔中。

4.配置

配置组连接选项

test

test

配置管理页面,如果配置为true,则可以在mancenter目录下启动页面管理

http://10.1.4.97:8080/mancenter

配置连接网络(自增长如果配为true,端口启动失败时会自增)

5701

集群节点发现机制,自选一种

224.2.2.3

54327

10.10.10.10

10.10.10.10

my-access-key

my-secret-key

us-west-1

ec2.amazonaws.com

hazelcast-sg

type

hz-nodes

配置节点对套接字加密,算法可选

PBEWithMD5AndDES

thesalt

thepass

19

配置执行服务器的线程和队列容量

16

0

参考:http://blog.csdn.net/hengyunabc/article/details/18514563

 类似资料: