ServiceEventType - minbox-projects/message-pipe GitHub Wiki

ServiceEventType是定义发布ServiceEvent事件的类型,根据不同的类型进行对应处理维护客户端服务状态的业务逻辑,目前ServiceEventType枚举定义内容如下所示:

  • REGISTER
  • HEART_BEAT
  • RESET_INSTANCE
  • EXPIRE

REGISTER(注册客户端)

该类型用于处理 注册新客户端 业务逻辑。

使用 Grpc 方式启动客户端(Client)时,会根据配置服务端的IP地址Port端口号进行发送注册请求,而服务端接收到注册请求后发布ServiceEventType#REGISTER类型的ServiceEvent事件。

仅用于GRPC方式启动的服务端。

HEART_BEAT(心跳检查)

该类型用于处理客户端 上报心跳 业务逻辑。

使用 Grpc 方式启动客户端(Client)时,默认每间隔 10秒上报一次心跳请求,服务端接收到心跳上报请求后发布ServiceEventType#HEART_BEAT类型的ServiceEvent事件。

仅用于GRPC方式启动的服务端。

RESET_INSTANCE(重置客户端列表缓存)

该类型用于 重置 服务端本地缓存的客户端列表。

使用 Nacos 方式启动服务端(Server)时,会订阅NamingService的服务列表变动(客户端上线、下线都会通知),每次接受Nacos Server推送的服务变动时发布ServiceEventType#RESET_INSTANCE类型的ServiceEvent事件。

仅用于Nacos方式启动的服务端。

EXPIRE(客户端过期处理)

该类型由于设置客户端 过期 业务逻辑处理。

使用 Grpc 方式启动服务端(Server)时,会在GRpcServerApplicationService监听服务类内启动一个时间调度线程池,该线程池主要任务是每间隔10秒执行一次发布ServiceEventType#EXPIRE类型的ServiceEvent事件,用于检查客户端过期状态。

仅用于GRPC方式启动的服务端。