命名空间高可用模式

最近更新时间: 2024-09-05 15:09:00

操作场景

在注册中心异常或组件升级更新场景中,当提供方服务实例无法与注册中心维持正常心跳,导致注册中心服务实例变更离线状态时,调用方服务订阅注册中心由于获取提供方异常服务实例列表并更新本地缓存信息,从而引发服务调用异常。 针对以上异常场景,TSF 面向命名空间维度提供高可用模式配置,业务在命名空间开启高可用模式后,当注册中心发生异常时优先从本地缓存获取提供服务实例列表,并启动定时任务探测注册中心状态,在注册中心恢复后2个心跳周期(保障提供方服务完成服务注册)后恢复注册中心订阅机制,并更新本地缓存信息从而保障业务服务高可用。

注意:

需配套1.25以上版本 SDK 方可生效。

实现原理

命名空间高可用模式实现原理如下:

正常状态服务调用流程:

  1. 提供方注册服务信息;

  2. 调用方订阅服务信息;

  3. 调用方更新本地缓存;

  4. 调用方发起服务调用。

注册中心异常状态服务调用流程:

  1. 如果服务进程重启则从本地缓存获取服务列表发起调用,如果服务未重新启动则内存中缓存服务列表;

  2. 调用方发起服务调用;

  3. 调用方启动定时任务定时探测中心中心状态。

注册中心恢复后服务调用流程:

  1. 提供方服务正常进行服务注册;

  2. 调用方服务通过缓存正常发起调用;

  3. 调用方定时探测注册中心状态恢复并进行计;

  4. 待注册中心两个心跳周期后订阅服务(保障提供方服务完成服务注册);

  5. 更新本地缓存服务列表。

操作步骤

  1. 登录 TSF 控制台

  2. 在左侧导航栏中,单击【命名空间】,进入命名空间列表页。

  3. 在命名空间列表页,选择指定的命名空间,单击打开高可用模式开关。