MSE微服务引擎服务上下线怎么及时通知给注册中心子服务, 我通过k8s更新服务过程不够平滑; ?

MSE微服务引擎服务上下线怎么及时通知给注册中心子服务, 我通过k8s更新服务过程不够平滑; 我怀疑是触发服务下线后, 其他服务节点本地存在不可用服务

这大概是我的启动流程:
创建一个新的POD -> 探针就绪 -> 开始替换旧POD -> 触发preStop (通知服务,处理善后 注册中心下线) -> sleep 30s -> 等待最大pod宽限时间60s -> 结束

现在我想订阅nacos的下线通知应该怎么做?3185c7928b1935ab4b1f2787a06eb6a3.jpg
期望相关: gatway 中订阅 live服务, 当live服务上下通知到gatway,有没有遇到过的,帮忙看看

展开
收起
真的很搞笑 2023-08-01 10:47:20 153 分享 版权
1 条回答
写回答
取消 提交回答
  • 北京阿里云ACE会长

    要实现MSE微服务引擎服务的及时通知给注册中心子服务,你可以通过以下步骤来订阅Nacos的服务下线通知:

    首先,确保你的应用程序已经引入了Nacos的客户端库,以便与Nacos注册中心进行通信。

    在你的应用程序中,创建一个订阅Nacos服务下线通知的方法。你可以使用@PostConstruct注解来标记该方法,在应用程序启动时自动执行。这个方法将会在应用程序初始化时被调用。

    在订阅方法中,使用Nacos的Java SDK来创建一个Nacos的NamingService实例,并通过subscribe方法订阅需要监听的服务名称。例如,你可以订阅"rc-service-live"服务。

    在订阅方法中,你可以定义一个事件处理器来处理接收到的下线事件。你可以根据事件的类型和内容,执行相应的逻辑来通知其他服务节点进行处理或处理善后操作。

    2023-08-04 21:59:05
    赞同 展开评论

为微服务建设降本增效,为微服务落地保驾护航。

还有其他疑问?
咨询AI助理