spring-cloud-tencent
spring-cloud-tencent copied to clipboard
预计何时能够支持服务无损上下线?
预计要迭代多少个版本后,会能够支持服务无损上下线?比较关心此特性,谢谢。
@wandy0092 目前有计划实现优雅上下线,您也可以聊一聊您对无损上下线的理解和诉求,以便能满足您的使用要求。
@wandy0092 目前有计划实现优雅上下线,您也可以聊一聊您对无损上下线的理解和诉求,以便能满足您的使用要求。
@SkyeBeFreeman 希望能在服务上下线的切换时候,做到请求流量无失败,就是类似现在阿里云中的MSE对dubbo无损滚动发布所提供的效果。^_^感谢回复
@wandy0092 目前有计划实现优雅上下线,您也可以聊一聊您对无损上下线的理解和诉求,以便能满足您的使用要求。
@SkyeBeFreeman 希望能在服务上下线的切换时候,做到请求流量无失败,就是类似现在阿里云中的MSE对dubbo无损滚动发布所提供的效果。^_^感谢回复
@wandy0092 了解。服务上下线无失败请求,是优雅上下限最基本的能力,社区在开发的时候会注意这方面的测试。
1.增加配置:server.shutdown=graceful 2.监听ContextClosedEvent事件,主动反注册
增加这两个功能是不是就可以满足无损下线了
1.增加配置:server.shutdown=graceful 2.监听ContextClosedEvent事件,主动反注册 增加这两个功能是不是就可以满足无损下线了
@SkyeBeFreeman @michaelwangwangwang 不知道届时是否也会提供web可视化的admin控制台,通过点击按钮等,进行服务的无损摘除恢复等上下线操作。
1.增加配置:server.shutdown=graceful 2.监听ContextClosedEvent事件,主动反注册 增加这两个功能是不是就可以满足无损下线了
@SkyeBeFreeman @michaelwangwangwang 不知道届时是否也会提供web可视化的admin控制台,通过点击按钮等,进行服务的无损摘除恢复等上下线操作。
@wandy0092 可以通过在控制台上设置实例的隔离状态来完成无损摘除和恢复。

是的,我们现在就是这样做的 1.配置 server.shutdown=graceful 2.在监听ContextClosedEvent事件之后,先从springcontext获取PolarisAutoServiceRegistration实例, 调用其stop()方法手动反注册, 然后Thread.sleep() 10s, 确保上游服务有足够的时间做服务发现, sleep时间可以通过配置传入, 这块最好结合k8s的延迟关闭时间来配置
如果项目里使用了Nacos等,可能会多次触发ContextClosedEvent事件, 要做判断..只执行一次就好
以上操作后,可以实现无损下线
@SkyeBeFreeman 请问在控制台手动隔离服务时,是否会影响当前正在处理(未执行完)的请求线程?
@SkyeBeFreeman 请问在控制台手动隔离服务时,是否会影响当前正在处理(未执行完)的请求线程?
不会,只是表示不会在接收到流量了
无损上下线文档:https://github.com/Tencent/spring-cloud-tencent/wiki/%E6%97%A0%E6%8D%9F%E4%B8%8A%E4%B8%8B%E7%BA%BF%E6%8F%92%E4%BB%B6
