我希望集群中的所有节点都具有相等数量的数据负载。用 默认的亲和力功能没有发生。
到目前为止,我们有3个节点。我们使用组ID作为关联密钥,我们有3个 组ID(1、2和3)。并且我们将缓存分区限制为组ID。总体 节点=组ID =缓存分区。这样每个节点都有相等数量的 分区。
编写自定义Affinity函数可以吗?和 这样做会失去什么?有没有人写自定义的Affinity函数?
答案 0 :(得分:0)
相似性功能无法保证所有节点上的分布均匀。这是统计数据……三个值还不足以确保数据“公平”分布。
因此,是的,编写一个新的相似性函数将起作用。不利的一面是您需要使其快速运行(这被称为很多),并且会将其硬编码到您的 current 节点拓扑中。选择添加新节点时会发生什么?节点发生故障时会发生什么?另外,您可能会将所有数据放入三个分区中,这使扩展变得更加困难(Ignite体系结构的主要优势之一)。
作为替代方案,我将研究您的数据模型。将数据分为三个部分过于粗略,无法自动工作。