【发布时间】:2020-10-15 03:11:55
【问题描述】:
我正在评估 Hazelcast IMDG,以期使用它来减少一些数据库瓶颈。我们的应用程序运行在多个节点上,并行处理来自位于中间的数据库的数据。
我们使用信号量表来分配工作,这是我们正在考虑用 Hazelcast 阻塞队列代替的。
但是,一些要处理的消息比其他消息具有更高的优先级,这让我开始怀疑,因为 Hazelcast 似乎没有 java.util.concurrent.PriorityBlockingQueue 的等价物。
我的第一个问题是是否有办法通过 Hazelcast 实现这一目标。 我的第二个问题是,是否有其他 IMDG 数据网格易于配置并嵌入到现有应用程序中来实现这一点。
提前感谢您的意见。
【问题讨论】:
-
Hazelcast 目前不提供此功能,您必须自己构建。但是如果你使用编程器的SPI,这并不难。如果您需要详细信息,请 PM 我
-
不知道如何PM你。但是为什么不在这里提供您的解决方案/想法,以便每个感兴趣的人都能从中受益。我自己对包装
IMap<Priority, IQueue<Message>>有一些想法,但对于 IMDG 的新手,我希望有更多经验的人提供一些专业知识。 -
好主意。给我几天时间写吧。
-
没有忘记...
-
谢谢 想知道你是否确实这样做了:-)。我自己尝试了自己的版本,但遇到了各种问题。显然我的知识还不够成熟。与此同时,我开始阅读 Apache Ignite 文档,因为它们的内存表可能更容易帮助我解决问题,但我承认到目前为止我最喜欢 Hazelcast。无论如何,我会根据您提出的想法来看看