java中如何合并两个网格,Hazelcast: Java分布式内存网格框架(平台)

转自:http://blog.csdn.net/iihero/article/details/7385641

下边是它的宣传内容:

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

安装也非常方便:

1    Download hazelcast-version.zip from www.hazelcast.com

2    Unzip hazelcast-version.zip file

3    Add hazelcast.jar file into your classpath

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

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开始编码

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573627.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

unzip 解压_每天一条Linux命令(11) unzip (超详细)

在Linux系统中,命令 unzip 用于解压zip命令或其他压缩软件压缩的zip格式文件。语法:unzip [选项] [压缩文件]常用参数说明:-o 解压时不提示是否覆盖文件-v 解压时显示详细信息-d 指定解压目录-l 不解压,只显示压缩文件内所包含的…

php 查找键名,array_key_exists()函数搜索数组键名步骤详解

这次给大家带来array_key_exists()函数搜索数组键名步骤详解,array_key_exists()函数搜索数组键名的注意事项有哪些,下面就是实战案例,一起来看一下。array_key_exists() 定义和用法array_key_exists() 函数判断某个数组中是否存在指定的 key…

poi导出Excel(分行单元格颜色设置,字体设置,合并单元格,插入图片)

这是一个日报导出功能的代码;图片是用JfreeChars生成好的&#xff0c;话不多少 看代码 public String excelExport(HttpServletRequest request,HttpServletResponse response,CarSaledailyDTO carSaledailyDTO){//获取需要导出的报表数据     List<List<List>>…

vim 复制一行并且粘贴_Vim常用命令2之文本操作

文本操作无非增删改查&#xff0c;搜索&#xff0c;替换&#xff0c;复制粘贴&#xff0c;总结有如下命令&#xff08;正常模式下&#xff09;九四干&#xff1a;Vim常用命令1之移动光标​zhuanlan.zhihu.com1. 增1.1 行内插入i 光标之前插入I 行首插入a光标之后插入A 行末插入…

数据访问增删改查之单项查询

封装类 <?php //纯php,可以删掉html代码直接写 //封装类&#xff0c;这样用起来方便&#xff0c;不必每次都去再写了 //用驼峰法命名类名&#xff0c;首字母大写 class ChaXun { public $host"localhost";//数据库地址,可以直接赋值为"localhost"pu…

matlab中noisbloc,基于小波变换的微弱信号检测技术的研究.doc

毕业论文基于小波变换的微弱信号检测技术研究学生姓名&#xff1a; 学号&#xff1a;学 院&#xff1a;专 业&#xff1a;指导教师&#xff1a;2012年 6月基于小波变换的微弱信号检测技术研究摘要&#xff1a;微弱信号检测的目的是要提取需要检测到的微弱信息&#xff0c;利用小…

import是引进外部函数吗_vue3已正式发布,你学了吗

慌慌张张,匆匆忙忙,vue2还没用好,vue3就来了&#xff1f;&#xff1f;&#xff1f;&#xff1f;真的学不动了.......嘴上说着学不动,只见有的人在偷偷的在学习&#xff0c;我也利用假期看了看vue3...,倒吸一口气&#xff0c;还好差别并不是很大。别问我什么原理&#xff0c;底层…

aoa定位算法matlab仿真,基于信号到达角度(AOA)的定位算法研究

内容摘要&#xff1a;基于信号到达角度(AOA)的定位算法是一种常见的无线传感器网络节点自定位算法&#xff0c;算法通信开销低&#xff0c;定位精度较高。由于各种原因&#xff0c;估测的多个节点位置可能存在不可靠位置&#xff0c;提出了一种改进的基于信号到达角的定位方法&…

R语言-时间日期函数

R语言时间日期函数 1. 返回当前日期时间&#xff0c;有两种方式&#xff1a; Sys.time() date() 举例 format(Sys.time(), "%a %b %d %X %Y %Z")#[1] "周五 五月 06 14:17:40 2016 CST"format(Sys.time(), "%H:%M:%OS3")#[1] "14:17:40.6…

各种水龙头拆卸图解_水龙头上包卫生纸,竟有这种效果!邻居看了都想学

你家该大扫除了吗&#xff1f;如何打扫厨房可是个大问题厨房的卫生问题今天一一教你解决洗碗池洗碗池经常不擦&#xff0c;污渍会积得很厚&#xff0c;陈旧老污渍怎么清除呢&#xff1f;方法&#xff1a;白醋 用毛巾裹在水龙头上&#xff0c;倒上白醋。因为白醋具有腐蚀性&…

php按id获取整条数据库,Ajax取得数据库的json值,想通过id获取对应信息,但是都默认获取第一条了...

PHP<?PHP header("Content-Type: text/html; charsetutf-8");include(conn.php);//链接数据库$sql select id,article_name,check_box,radio_box,content,input_name,input_number,input_title,input_describe from article;$res mysqli_query($conn,$sql);$da…

服务器系统及软件常见漏洞

服务器系统及软件常见漏洞 漏洞名称允许Traceroute探测远端WWW服务支持TRACE请求远端WWW服务提供了对WebDAV的支持远端WEB服务器上存在/robots.txt文件远端VNC服务正在运行远端HTTP服务器类型和版本信息泄漏远端DNS服务允许递归查询远程代理服务器允许连接任意端口远程代理服务…

链式存储结构 php,【PHP 实现数据结构】链式队列

什么是链式队列队列是一种“先进先出”的存储结构,是一种特殊的线性表&#xff0c;于它只允许在表的前端(front)进行删除操作&#xff0c;而在表的后端(rear)进行插入操作。通常队列可以分为顺序队列和链式队列两种实现&#xff0c;顺序队列顾名思义就是采用顺序存储&#xff0…

base64_encode() 和 base64_decode() 8bit图片通过网络传输

一、为什么要使用base64编码&#xff1f; Base64是一种基于64个可打印字符来表示二进制数据的表示方法。 有些网络传送渠道并不支持所有的字节&#xff0c;例如传统的邮件只支持可见字符的传送&#xff0c;像ASCII码的控制字符就 不能通过邮件传送。这样用途就受到了很大的限制…

图标圆角角度_UI设计中图标的规范及原则【附全套视频】

icon是一种图标格式&#xff0c;用于系统图标、软件图标等&#xff0c;这种图标扩展名为*.icon、*.ico。常见的软件或windows桌面上的那些图标一般都是ICON格式的。icon元素包括两个可选的子元素:small-icon子元素和large-icon子元素。文件名是Web应用归档文件(WAR)的根的相对路…

设计模式(十一):从文Finder中认识组合模式(Composite Pattern)

上一篇博客中我们从从电影院中认识了"迭代器模式"(Iterator Pattern)&#xff0c;今天我们就从文件系统中来认识一下“组合模式”&#xff08;Composite Pattern&#xff09;。说到组合模式&#xff0c;在此我想聊一下在类图中有组合与聚合的关系&#xff0c;这两者都…

PHP7不能用string类名,解决thinkphp php7 Cannot use ‘String’ as class name as it is reserved...

我有一网站之前用php7运行thinkphp没有什么问题&#xff0c;但是最近发现开启验证码的时候发现有错误Cannot use String as class name as it is reserved在google baidu搜索了一下还是没有解决方法于是自己动手解决&#xff0c;看来我是第一个分享出来的人原因&#xff1a;有一…

python序列化对象的函数_使 Python 对象可序列化的函数

from copy import deepcopyfrom str import basestringdef enserializable(model):"""本函数用于将对象可序列化&#xff0c;且返回的字典都是新的(deepcopy)"""if isinstance(model, dict):model deepcopy(model)to_pop []for k in model:# 过…

Activity(二)

多个Activity之间的调用 建立一个Activity 配置layout文件夹下fragment_main.xml文件 在layout下新建other.xml文件 xml文件创建的id需要编译才能生成 在同一工程src文件夹下新建class文件 查找id并作关联 加入监听器&#xff0c;调用另一个Activity的类 调用监听器 注&#xf…

php用asp文件js,asp下用fso生成js文件的代码

asp下用fso生成js文件的代码更新时间&#xff1a;2008年06月24日 23:47:54 作者&#xff1a;asp下使用fso生成js代码的方法Set fso Server.CreateObject("Scripting.FileSystemObject")set fdfso.createtextfile(server.MapPath("../category.js"),true)…