有什么方法可以使用gridgain分区来通过缓存读取进行负载平衡?

时间:2015-02-18 23:00:18

标签: gridgain

我有一个负载平衡用例。我们有太多的数据完全适合内存,但我们希望在节点之间对其进行负载均衡。与任何特定键相关联的负载不均匀。因此,负载平衡应该能够与与工作相关联的一些权重进行平衡(与大多数与节点cpu容量和当前业务水平有关的负载平衡讨论相反)。

在这种情况下, work 表示后备数据库中的数据。因此,新的工作项可能带有密钥A,密钥A与数据库中的10,000行相关联。另一个请求可能出现,密钥B与数据库中的30行相关联等。

我无法将所有数据存储在内存中。我甚至无法将所有密钥存储在内存中。有没有办法应用网格增益负载平衡或分区来优化群集中特定节点的特定密钥的 affinity ?即这样所有A请求都转到一个节点,所有B转到另一个节点,等等,使得每个节点的的平均数在整个拓扑中相当平衡。

1 个答案:

答案 0 :(得分:0)

我想我现在明白了这个问题。首先,GridGain(或Apache Ignite)中的亲和功能是可插入的,您可以随时插入自己的实现,即使它主要基于GridGain实现。

此外,值得注意的是,如果您选择行的主键作为缓存键,则数据的分布将相等,但所有相关键可能不会在同一服务器上并置。这种方法会起作用吗?