2.4. 此设置可以保留失败
失败 | 恢复 | RPO1 | RTO2 |
---|---|---|---|
数据库节点 | 如果 writer 实例失败,数据库可以将同一站点中的读取器实例提升为新的写入器。 | 没有数据丢失 | 分钟到秒(取决于数据库) |
红帽构建的 Keycloak 节点 | 每个站点中运行多个红帽构建的 Keycloak 实例。如果一个实例失败,则其他节点需要几秒钟才能注意到更改,一些传入的请求可能会收到错误消息,或者延迟几秒钟。 | 没有数据丢失 | 少于一分钟 |
Data Grid 节点 | 多个 Data Grid 实例在每个站点中运行。如果一个实例失败,则其他节点需要几秒钟才能注意到更改。会话至少存储在两个 Data Grid 节点上,因此单个节点故障不会导致数据丢失。 | 没有数据丢失 | 少于一分钟 |
Data Grid 集群失败 |
如果在活跃站点中的 Data Grid 集群失败,红帽构建的 Keycloak 将无法与外部数据网格通信,红帽构建的 Keycloak 服务将不可用。loadbalancer 将检测情况为 设置会降级,直到 Data Grid 集群恢复,且会话数据被重新同步到主集群。 | 没有数据丢失3 | 分钟到秒(取决于负载均衡器设置) |
连接数据网格 | 如果两个站点之间的连接丢失,则会话信息无法发送到其他站点。传入的请求可能会收到错误消息,或者延迟几秒钟。主站点将次要站点标记为离线,并将停止向次要站点发送数据。设置会降级,直到连接被恢复,且会话数据被重新同步到次站点。 | 没有数据丢失3 | 少于一分钟 |
连接数据库 | 如果两个站点之间的连接丢失,同步复制将失败,并且主站点可能需要一些时间才能标记二级离线。有些请求可能会收到错误消息,或者延迟几秒钟。根据数据库,可能需要手动操作。 | 没有数据丢失3 | 分钟到秒(取决于数据库) |
主站点 | 如果没有红帽构建的 Keycloak 节点可用,则 loadbalancer 将检测到中断并将流量重定向到二级站点。当 loadbalancer 没有检测到主站点失败时,一些请求可能会收到错误消息。设置将降级,直到主站点备份,并且从次要站点手动同步会话状态。 | 没有数据丢失3 | 少于一分钟 |
二级站点 | 如果次要站点不可用,则将需要稍等片刻,让主数据网格和数据库标记为离线次要站点。有些请求可能会在检测发生时收到错误消息。辅助站点再次启动后,需要将会话状态从主站点同步到次要站点。 | 没有数据丢失3 | 少于一分钟 |
表 footnotes:
1 恢复点目标(假设设置的所有部分在发生这种情况时都处于健康状态)。
恢复时间目标所需的3 个手动操作是恢复降级的设置。
语句"No 数据丢失"取决于设置不会因为之前失败而降级,其中包括完成任何待处理的手动操作来重新同步站点之间的状态。