Apache Ignite:手动数据托管

Apache Ignite: Manual Data Colocation

所以我知道数据可以通过使用亲和力函数一起定位。

我的问题是,是否可以强制将数据放置在特定节点中?如果我需要将该分区移动到另一个节点,然后强制重新平衡。

这对于我有一个客户端最常使用服务器来访问他的数据并且在网络方面非常靠近该服务器的点燃节点的场景很有用。我希望此客户端的数据尽可能接近它的使用位置。

但是现在说这个客户端移动到另一个服务器,我希望能够将他的数据移动到离新服务器更近的节点。

这种行为在 Ignite 中可能吗?

你可以use a node filter to limit which nodes store data,但你不能轻易地将数据强制到特定节点。

但好消息是这确实是一个设计 anti-pattern。你应该让 Ignite 为你解决。

部分原因是您似乎假设客户端连接到 a 服务器。事实并非如此。点燃节点是对等的。任何节点都可以直接连接到集群中的任何其他节点。 (也许您有一个“延伸集群”,它分布在多个数据中心?因为一个集群 peer-to-peer,通常不建议这样做。)