问题标签 [hazelcast]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1334 浏览

java - 除了调用 put 操作之外,Hazelcast 地图元素何时会被持久化?

我有一个带有 2 个节点的 hazelcast 集群和一个用于持久性的数据库。我一个接一个地启动两个节点。第一个节点从数据库中读取实体并构建相应的地图(entityMap)。在我启动第二个节点后,EntityMapStore.store() 方法被定期调用(在第二个节点上)很多次。我只是想知道,这应该怎么发生,因为开始后我还没有在地图上放任何东西。还是我做错了什么?

hazelcast.xml 的相应部分如下所示:

0 投票
1 回答
298 浏览

java - Hazelcast Map密钥长度在重新启动后不同

我正在做一个项目,我使用 Hazelcast(版本:1.9.3.1)作为我们系统的分布式缓存,并将所有缓存数据写入 Hbase。但我面临一个非常奇怪的问题。当我使用 Hazelcast 映射使用字符串键缓存我的数据并将其写入 Hbase 时。并重新启动我的 Hazelcast,然后在 Hazelcast 将所有数据从 Hbase 加载到 Map 后尝试使用 key 检索数据。我注意到密钥的长度现在与之前存储到 Map 时的长度不同。

例如 Real key : "ada1:user1" Malformed Key: "ada1:user1 " Real key Length= 9, Malformed Key Length= 10

0 投票
1 回答
184 浏览

hazelcast - 在两个集群节点上使用不同的持久化策略时,某些地图实体无法持久化

当我在具有两个节点的集群上使用不同的持久性策略时,将不会存储一小部分映射实体。我具体做的是: 1. 在第一个节点上设置 write-delay-seconds=10,在第二个节点上设置 write-delay-seconds=0。2.两个节点一个接一个的启动。3. 在 hazelcast 映射中填充 200 个实体,该映射具有实现 MapStore 的相应持久性。4. 一定数量(大约 1%)的密钥既不会通过 store() 也不会通过 storeAll() 持久化。

0 投票
2 回答
5002 浏览

java - 榛树地图统计

我正在尝试显示地图的统计信息。它总是显示没有命中为 0。我正在使用以下代码。

输出是

任何帮助表示赞赏。我想知道点击数、地图大小和条目数。

0 投票
1 回答
4345 浏览

spring - 结合 Spring、Quartz 调度和 Hazelcast

我正在尝试研究如何为我正在编写的 web 应用程序开发一个可合理扩展的批处理框架。

我正在为 webapp 使用 Spring MVC,并带有一个自定义 DAO 层(要访问数据库,需要从一个设置为 @Autowired 并由 Spring 在运行时注入的UnitOfWorkFactory构造一个UnitOfWork实例)。

我正在使用 Spring Scheduler 注释 (@Scheduled) 来安排任务,但是我希望这些任务在集群中的不同机器上运行。每个批处理作业都应由其中一台集群机器拾取,然后执行。

Hazelcast似乎很适合此,因为分布式执行设计为此目的看起来非常简单和优雅。

我遇到了文档似乎没有涵盖的问题。我已经阅读了有关Spring Integration的文档,但是这似乎集中在如何使用 Spring 配置 Hazelcast(我已经完成了)。

当调度程序指示任务要开始时,我想创建任务的一个新实例(一个Callable实例)并将其提交给DistributedExecutor。当集群机器接收到要运行的任务时,我需要集群机器上的 Spring 容器在任务尝试执行之前将UnitOfWorkFactory实例注入批处理任务。每个集群都从 Spring 开始,并且UnitOfWorkFactory已经使用正确的详细信息进行了实例化,问题在于将UnitOfWorkFactory实例注入到我的任务中。

有人知道我如何配置我的应用程序,以便 Hazelcast 可以在Callable启动时自动注入UnitOfWorkFactory吗?我尝试将Callable标记为 Serializable 和ApplicationContextAware,但在尝试运行任务时仍然会收到NullPointerException 。

我可以直接访问 ApplicationContext,但我不希望这样做,因为它会限制我的任务的可测试性,并为我的批处理作业引入对 Spring 的硬依赖。

0 投票
1 回答
494 浏览

tomcat - Hazelcast 问题 - 谁来获取(监听)正在运行的应用程序编号

我想了解是否可以获取或侦听在配置(分发)hazelcast 的池 IP 上运行的正在运行的应用程序“编号”。

我知道应用程序日志显示哪个 ip 在那一刻进入池中或离开池(当该服务器关闭时)。但是,我找不到如何在运行时使用 hazelcast 获取这个正在运行的实例编号。

提前致谢。

0 投票
3 回答
3676 浏览

java - Redis、Mongo 还是 Hazelcast?

我们有一个 JAVA Web 应用程序,它使用 postgres(带有从属的单个数据库)来存储所有重要数据。

我们现在正在从单个服务器设置转移到多个服务器,因此我需要进行一些更改来满足新的要求。

1) 用于负载平衡和分区容错的非粘性会话 ID。

2) 缓存可从所有 Web 服务器访问的频繁读取数据(内存/Memcache 替代方案)。

3) 队列(电子邮件、短信、要在集群上执行的任务)。通常,所有这些都必须通过 xml api 或屏幕抓取来执行。
避免重复处理任务很重要,但有时可能会发生:-)

4) API 请求和响应的持久存储(大量 XML,大量行但少量列)。(可能通过删除旧请求和响应来存档以保持数据集较小)。

5)登录到一个共同的地方。该表将继续增长。此外,我需要一个工具来访问生产日志而不停止它们。应该可以基于时间和/或搜索字符串进行某种搜索。

我想要一个单一的解决方案来解决所有这些要求,并将 redis、mongo 和 hazelcast(按照我的个人喜好)作为可能的替代方案。

其他重要的考虑因素:1)减少对我们代码的侵入。2) 简单的备份/复制策略。至少是主从。3) 可管理性、社区和久经考验(在生产中运行)。

哪个将能够执行所有或大部分这些功能和要求?

编辑 - 我做了什么

  1. Redis 支持的 tomact 会话管理器。
  2. 用于缓存的 Redis
  3. 由 redis 支持的 Jesque(Respue 的 java 版本)。
  4. Postgres
  5. 由 Log4j2 支持的 SLF4J
0 投票
1 回答
134 浏览

hibernate - 在另一个 jvm 上缓存

我们有一个休眠 2 级缓存在同一个 jvm 上为休眠工作。想知道是否有人有一个 hazelcast.xml 文件,hibernate 可以使用它作为不同 jvm 实例上的二级缓存连接到它。

0 投票
2 回答
1742 浏览

amazon-web-services - 在相同对等点的集群中调度任务

给定一个在 AWS Elastic Beanstalk 上运行的简单 Web 应用程序(即负载均衡器后面的 1..n 个相同实例),我如何才能有一个仅在一个实例上运行的计划后台操作?

我在 Web 应用程序中确实有一个类似 cron 的调度机制,并且可以使用例如 AWS 简单队列服务对任务进行排队(并确保每个任务只执行一次)。但是如何确保只有一个实例创建任务(以避免重复)?

显然,我可以有一个专门的实例来负责创建任务,但我正在寻找一种更动态的机制,让一个普通实例自动承担该角色。有任何想法吗?

0 投票
2 回答
400 浏览

delphi - 有没有办法让 Delphi 应用程序使用 Hazelcast?

Delphi 应用程序有什么方法可以使用来自Hazelcast的分布式缓存?