2.13. 集群备份和灾难恢复
在总体 CPU 和内存分配方面,执行跨站点复制的数据网格集群通常是"ymmetrical"。当您将跨站点复制考虑大小大小时,主要关注对群集之间的状态传输操作的影响。
例如,NYC 中的 Data Grid 集群离线,客户端在 LON 中切换到 Data Grid 集群。当 NYC 中的集群重新上线时,状态转移将从 LON 转移到 NYC。此操作可防止客户端进行过时的读取,但对集群收到状态传输的性能损失。
您可以在集群中分发该状态传输操作所需的增加。但是,状态传输操作的性能影响完全取决于数据集合的类型和大小等环境和因素。
Active/Active 部署冲突解析
当多个站点处理客户端请求(称为 Active/Active 站点配置)时,Data Grid 检测到并发写入操作与并发写入操作冲突。
以下示例演示了如何并发写入会导致在 LON 和 NYC 数据中心中运行的 Data Grid 集群有冲突的条目:
在 Active/Active 站点配置中,您不能使用同步备份策略,因为并发写入会导致死锁和您丢失的数据。借助异步备份策略(strategy=async),数据网格为您提供处理并发写入选择跨站点合并策略。
就性能而言,数据网格用来解决冲突的合并策略需要额外的计算,但通常不会产生显著损失。例如,默认的跨站点合并策略使用字典比较,或"字符串比较",该比较仅用几纳秒来完成。
数据网格还提供 XSiteEntryMergePolicy SPI 用于跨站点合并策略。如果配置数据网格来解决与自定义实施冲突,您应该始终监控性能来衡量任何负面影响。
XSiteEntryMergePolicy SPI 调用非阻塞线程池中的所有合并策略。如果您实施了阻塞自定义合并策略,它可能会耗尽线程池。
您应该将复杂的或阻止策略委派给不同的线程,并且您的实施应返回完成合并策略在其他线程中执行的 CompletionStage。