1.5. 备份位置的自动离线参数
在集群间复制数据的操作是使用过量 RAM 和 CPU 的资源密集型。为了避免资源数据中心在特定时间段内停止接受请求时,可以使备份位置离线。
Data Grid 根据失败的顺序请求数以及从第一次失败以来的时间间隔,使远程站点离线。当目标集群在跨站点视图(JGroups 网桥)中没有节点时,或者目标集群确认请求确认请求前过期超时时,请求将失败。
备份超时
备份配置包括用于在集群之间复制数据的超时值。如果在超时时间过期前操作没有完成,Data Grid 会将它们记录为失败。
在以下示例中,如果数据复制到 NYC,则在 10 秒后没有完成,则将其作为失败:
XML
<distributed-cache> <backups> <backup site="NYC" strategy="ASYNC" timeout="10000" /> </backups> </distributed-cache>
JSON
{ "distributed-cache": { "backups": { "NYC" : { "backup" : { "strategy" : "ASYNC", "timeout" : "10000" } } } } }
YAML
distributedCache: backups: NYC: backup: strategy: "ASYNC" timeout: "10000"
失败次数
您可以指定备份位置离线前可能发生的 连续 故障数量。
在以下示例中,如果集群尝试将数据复制到 NYC,5 个连续操作会失败,NYC 会自动离线:
XML
<distributed-cache> <backups> <backup site="NYC" strategy="ASYNC" timeout="10000"> <take-offline after-failures="5"/> </backup> </backups> </distributed-cache>
JSON
{ "distributed-cache": { "backups": { "NYC" : { "backup" : { "strategy" : "ASYNC", "timeout" : "10000", "take-offline" : { "after-failures" : "5" } } } } } }
YAML
distributedCache: backups: NYC: backup: strategy: "ASYNC" timeout: "10000" takeOffline: afterFailures: "5"
等待的时间
您还可以在备份操作失败时指定在让站点离线前等待的时间。如果在等待超时前备份请求成功,Data Grid 不会使站点离线。
一两分钟通常是在自动使备份位置离线前等待的时间。如果等待周期太短,则备份位置会很快离线。然后,您需要让集群重新在线,并执行状态传输操作,以确保集群间数据保持同步。
失败数的负值或零的值等于 1
。Data Grid 只使用最少的时间在失败后等待备份位置离线,例如:
<take-offline after-failures="-1" min-wait="10000"/>
在以下示例中,如果集群试图将数据复制到 NYC,且在第一次失败操作后有 5 个连续故障和 15 秒,则 NYC 会自动离线:
XML
<distributed-cache> <backups> <backup site="NYC" strategy="ASYNC" timeout="10000"> <take-offline after-failures="5" min-wait="15000"/> </backup> </backups> </distributed-cache>
JSON
{ "distributed-cache": { "backups": { "NYC" : { "backup" : { "strategy" : "ASYNC", "timeout" : "10000", "take-offline" : { "after-failures" : "5", "min-wait" : "15000" } } } } } }
YAML
distributedCache: backups: NYC: backup: strategy: "ASYNC" timeout: "10000" takeOffline: afterFailures: "5" minWait: "15000"