1.5. 备份位置的自动离线参数
使用过量 RAM 和 CPU 在集群间复制数据的操作是资源密集型。为了避免资源 Data Grid 在特定时间段内停止接受请求时,使其离线进行备份位置。
Data Grid 根据失败的后续请求数量和第一次故障起的时间间隔,使远程站点离线。当目标集群没有跨站点视图(JGroups 网桥)中的任何节点,或者目标集群确认请求前超时过期时,请求会失败。
备份超时
备份配置包括在集群之间复制数据的操作的超时值。如果操作在超时过期前没有完成,则数据网格会将其记录为失败。
在以下示例中,将数据复制到 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,连续五个操作失败,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"
等待时间
您还可以指定在备份操作失败时进行站点离线前等待的时间。如果在等待时间超时前备份请求成功,则数据网格不会使站点离线。
一个或两分钟是让备份位置离线前等待的时间。如果等待时间太短,则备份位置会过早离线。然后,您需要使集群重新上线并执行状态传输操作,以确保数据在集群之间进行同步。
失败数的负或零值相当于 1
的值。Data Grid 仅使用最短时间在故障后等待备份位置离线,例如:
<take-offline after-failures="-1" min-wait="10000"/>
在以下示例中,如果集群尝试将数据复制到 NYC,且连续五个失败,在第一个失败操作后有 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"