标签: hazelcast

hazelcast vs ehcache

如你在标题中看到的那样,问题很清楚,我将很高兴听到你对adv./disadv的看法.他们之间的差异.

更新: 我决定使用Hazelcast,因为它具有分布式缓存/锁定机制等优点,并且在适应您的应用程序时非常容易配置.

ehcache hazelcast

59
推荐指数
5
解决办法
3万
查看次数

redis vs hazelcast

Redis与Hazelcast如果我的应用程序:

  • 有很多需要保存的http请求(每分钟6000个,我收集点击信息)
  • 有很多http请求查询以前保存的数据.

我的问题是 - 我应该选择在Re​​dis和Hazelcast之间存储和查询数据 - 哪一个更快的读写? - 哪一个更可靠? - Cassandra可能是更好的选择吗?

回答任何问题都有帮助

redis hazelcast

32
推荐指数
4
解决办法
4万
查看次数

RealWorld HazelCast

有没有人对Hazelcast分布式数据网格和执行产品有任何实际经验?它对你有用吗?它有一个非常简单的API和功能,对于这样一个简单易用的工具来说似乎很不错.我做了一些非常简单的应用程序,它似乎像目前为止宣传的那样工作.所以我在这里寻找现实世界的'现实检查'.谢谢.

java replication datagrid cluster-computing hazelcast

30
推荐指数
3
解决办法
8405
查看次数

无法使用键'dataSource'注册MBean [HikariDataSource(HikariPool-0)]

对于(Java8 + Oauth2 + MySql + Hazelcast +无群集http会话)组合,我在prod模式下遇到错误.开发模式运行良好.

Unable to register MBean [HikariDataSource (HikariPool-0)] with key 'dataSou
rce'; nested exception is javax.management.InstanceAlreadyExistsException: com.z
axxer.hikari:name=dataSource,type=HikariDataSource
Run Code Online (Sandbox Code Playgroud)

在日志中,数据源(hazelcast)创建的第一部分表示[dev]模式.不确定这是故意的.

请帮助我解决问题.

日志

Dec 12, 2014 2:44:11 PM org.apache.catalina.startup.HostConfig deployWAR
INFO: Deploying web application archive D:\tools\apache-tomcat-7.0.55\webapps\re
tailenergy.war
[INFO] com.fg.re.ApplicationWebXml - Running with Spring profile(s) : prod
2014-12-12 14:44:19.125  WARN 1368 --- [ost-startStop-1] o.s.b.l.LoggingApplicat
ionListener       : Logging environment value '-Djava.util.logging.config.file="
D:\tools\apache-tomcat-7.0.55\conf\logging.properties"' cannot be opened and wil
l be ignored (using default location instead)
log4j:WARN No appenders could …
Run Code Online (Sandbox Code Playgroud)

hazelcast spring-boot jhipster

25
推荐指数
5
解决办法
3万
查看次数

您如何以编程方式为多播发现机制配置hazelcast?

您如何以编程方式为多播发现机制配置hazelcast?


细节:

文档仅提供TCP/IP的示例并且已过时:它使用不再存在的Config.setPort().

我的配置看起来像这样,但发现不起作用(即我得到输出"Members: 1":

        Config cfg = new Config();                  
        NetworkConfig network = cfg.getNetworkConfig();
        network.setPort(PORT_NUMBER);

        JoinConfig join = network.getJoin();
        join.getTcpIpConfig().setEnabled(false);
        join.getAwsConfig().setEnabled(false);
        join.getMulticastConfig().setEnabled(true);

        join.getMulticastConfig().setMulticastGroup(MULTICAST_ADDRESS);
        join.getMulticastConfig().setMulticastPort(PORT_NUMBER);
        join.getMulticastConfig().setMulticastTimeoutSeconds(200);

        HazelcastInstance instance = Hazelcast.newHazelcastInstance(cfg);
        System.out.println("Members: "+hazelInst.getCluster().getMembers().size());
Run Code Online (Sandbox Code Playgroud)

更新1,考虑到asimarslan的答案

如果我偶然发现MulticastTimeout,我要么得到"Members: 1"或者

2013年12月5日下午8:50:42 com.hazelcast.nio.ReadHandler警告:[192.168.0.9]:4446 [dev] hz._hzInstance_1_dev.IO.thread-in-0关闭套接字到端点地址[192.168.0.7] :4446,原因:java.io.EOFException:远程套接字已关闭!2013年12月5日下午8:57:24 com.hazelcast.instance.Node严重:[192.168.0.9]:4446 [dev]无法加入群集,关闭!com.hazelcast.core.HazelcastException:300秒内无法加入!


更新2,采取pveentjer关于使用tcp/ip的答案

如果我将配置更改为以下内容,我仍然只能获得1个成员:

Config cfg = new Config();                  
NetworkConfig network = cfg.getNetworkConfig();
network.setPort(PORT_NUMBER);

JoinConfig join = network.getJoin();

join.getMulticastConfig().setEnabled(false);
join.getTcpIpConfig().addMember("192.168.0.1").addMember("192.168.0.2").
addMember("192.168.0.3").addMember("192.168.0.4").
addMember("192.168.0.5").addMember("192.168.0.6").
addMember("192.168.0.7").addMember("192.168.0.8").
addMember("192.168.0.9").addMember("192.168.0.10").
addMember("192.168.0.11").setRequiredMember(null).setEnabled(true);

//this sets the allowed connections to the cluster? necessary for …
Run Code Online (Sandbox Code Playgroud)

java configuration multicast hazelcast

22
推荐指数
2
解决办法
3万
查看次数

Redis在哪里存储数据

我正在使用redis for pub/sub以及服务器端缓存.我的意思是我的应用服务器将redis服务器作为一个进程运行(也用作缓存).我有几个瘦客户端(运行redis客户端)以pub/sub模式连接到这个app服务器.我想知道redis存储缓存数据的位置?仅在服务器中,或者客户端中也会有副本.如果有近100个redis客户端通过pub/sub通道连接到服务器,那么以这种方式使用Redis也是个好主意.

谢谢

caching scalability redis hazelcast

21
推荐指数
6
解决办法
2万
查看次数

JGroups,Terracotta和Hazelcast

试图围绕这3个项目,他们似乎都处理尝试集群时出现的稍微不同的问题.但是他们的所有文档都是为那些已经"知情"的开发人员编写的,并且像我这样的新手很难理解.

  • 他们每个人都试图解决的具体问题是什么,这些问题如何相互不同?
  • 每个群集与群集应用服务器(如JBoss或GlassFish的内置群集功能)有何不同?
  • 这些框架解决的问题是否足够不同以保证它们在同一个项目中的使用?或者他们是彼此的竞争对手,因此对相同/类似的问题有不同的解决方案?

提前感谢您对这些好奇但难以捉摸的框架的任何见解!

java terracotta jgroups cluster-computing hazelcast

15
推荐指数
1
解决办法
5601
查看次数

Vert.x中的群集和共享数据

我正在开发Vert.x(基于Netty和Hazelcast),我正在尝试在两个服务器实例之间共享数据(在同一局域网中不同机器中的那些实例的eache).

我的问题是我不知道如何配置vert.x服务器以允许它们共享它们的并发内存映射(理论上说这是可能的).

我已经阅读了Vert.x和Hazelcast的许多文档,但我还没有结果.(我不知道如何强制vert.x加载hazelcast xml配置文件).

提前致谢!

hazelcast vert.x

15
推荐指数
2
解决办法
9982
查看次数

Hazelcast与Ignite基准测试

我使用数据网格作为我的主要"数据库".我注意到Hazelcast和Ignite查询性能之间存在巨大差异.我通过适当的自定义序列化和索引优化了我的数据网格使用情况,但差异仍然是明显的IMO.

由于没有人在这里问过,我将回答我自己的问题以供将来参考.这不是一个抽象(学习)练习,而是一个真实的基准测试,用于模拟大型SaaS系统中的数据网格使用 - 主要用于显示已排序和过滤的分页列表.我主要想知道,与原始无框架Hazelcast和Ignite使用相比,我的通用JDBC-ish数据网格访问层增加了多少开销.但由于我比较苹果和苹果,所以这里是基准.

benchmarking hazelcast ignite

14
推荐指数
2
解决办法
2万
查看次数

奇怪的Hazelcat IMap #put()行为

我的基于Hazelcast的程序可以在两种模式下工作:提交者和工作者.

提交者通过某些键将一些POJO放入分布式地图,例如: hazelcastInstance.getMap(MAP_NAME).put(key, value);

Worker有一个无限循环(Thread.sleep(1000L);内部为超时),它必须处理map中的实体.现在我只是在这个循环中打印地图大小.

现在这是问题所在.我开始工作的应用程序 然后我同时启动四个提交者(每个提交者都添加一个条目并终止它的工作).但是在完成所有提交者应用程序之后,工作者应用程序打印出任意大小:有时它会检测到只添加了一个条目,有时是两个,有时是三个(实际上它从未见过所有四个条目).

这个简单的流程有什么问题?我在Hazelcast文档中读到put()方法是同步的,因此它保证在它返回后,将条目放入分布式映射并进行复制.但在我的实验中似乎并非如此.

UPD(代码)

发布者:

public void submit(String key) {
    Object mySerializableObject = ...
    IMap<String, Object> map = hazelcastInstance.getMap(MAP_NAME);
    map.putIfAbsent(key, mySerializableObject, TASK_TTL_IN_HOURS, TimeUnit.HOURS);
}
Run Code Online (Sandbox Code Playgroud)

工人:

public void process() {
    while (true) {
        IMap<String, Object> map = hazelcastInstance.getMap(MAP_NAME);
        System.out.println(map.size());

        // Optional<Map.Entry<String, Object>> objectToProcess = getObjectToProcess();
        // objectToProcess.ifPresent(objectToProcess-> processObject(id, objectToProcess));
        try {
            Thread.sleep(PAUSE);
        } catch (InterruptedException e) {
            LOGGER.error(e.getMessage(), e);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我注释掉了"处理"部分本身,因为现在我只是试图获得地图的一致状态.上面的代码每次打印不同的结果,例如:"4,3,1,1,1,1,1 ......"(因此它甚至可以看到4个提交的任务片刻,但随后它们......消失) .

UPD(日志)

工人:

...
tasksMap.size() = …
Run Code Online (Sandbox Code Playgroud)

java multithreading hazelcast hazelcast-imap

14
推荐指数
1
解决办法
356
查看次数