先停止接收新工作
收到关闭信号后,将实例标记为未就绪以便流量排空,然后停止接收新请求或任务。具体顺序取决于托管平台发出的信号和路由行为,应验证平台的实际表现。
设置一个短于平台强制终止窗口的最大排空时间。如果任务可能超时,应保存进度或设计安全恢复机制,而不要假设进程会一直运行。
关闭资源并验证行为
现有工作排空或达到期限后,使用受支持的方法关闭数据库连接池、消息消费者和其他资源。确保重复信号和部分初始化都不会导致无限等待。
在有代表性的流量下测试部署或受控重启。测量中断请求、未完成任务和关闭耗时,再根据观察到的平台行为调整就绪状态和超时设置。