2014-02-18 29 views
0

我试图实施榛树。我想知道如果我使用java.util.concurrent.BlockingQueue,它会自动为它设置一个最大大小。当添加新节点时,榛树内存中队列是否会放大?

假设我启动一个集群,其中包含一个节点,然后在其中实施BlockingQueue,然后我再向集群添加一个节点,因此队列的最大大小会增加,因为现在集群的共享内存为两个节点?

我希望我在这里明确我的观点。

回答

2

你明确了你的观点。

Hazelcast IQueue实现不是分区数据结构。因此它将完全存储在单个成员(以及另一成员的备份)上。

因此,向群集添加更多成员不会增加队列的容量。

一种解决方案是创建一个队列条,以便整个队列不会存储在单个成员上。但这取决于你是否可以处理一个条纹。

+0

我通过Hazelcast文档和两本Hazelcast书进行了搜索,但找不到有关未分区的队列的任何内容。你知道任何以概念的方式解释排队机制的文档吗? – Odinodin

+0

让我们继续讨论邮件列表,因为您在那里发布了类似的问题(我已回复)。如果您需要了解更多信息,可以提出更多问题,我会很乐意回答。 – pveentjer

+0

这意味着榛节点不增加可扩展性,它只是增加了可用性? –

相关问题