如何终止部署后仍持续处理消息的Azure App Service rogue实例?
问题:Azure App Service部署新版本后旧容器实例仍消费Service Bus消息
配置详情
- 应用服务模型:Linux容器
- 消息代理:Azure Service Bus
- 编排工具:MassTransit
- 应用服务计划:单实例配置
问题现象
部署ASP.NET Core应用的新版本Docker容器后,旧实例仍在运行并持续从Azure Service Bus获取消息,该行为可通过Application Insights捕获的日志验证。日志中能看到旧实例(rogue容器)的cloud_RoleInstance与当前实例同时存在,且两者均保持与Azure SQL的活跃连接,导致新旧实例同时处理消息的异常情况。
已尝试的操作
- 在Azure门户执行应用服务常规重启和高级重启
- 更换应用服务计划
- 更换镜像标签(用稳定标签替代latest)
但上述操作后,旧实例仍活跃并消费消息。
求助内容
是否有人遇到过此类问题?如何识别并停止该旧实例,确保仅新部署的实例活跃并处理消息?有没有强制终止旧实例的方法,或是我遗漏了Azure App Service中的某项配置以避免此问题?恳请提供相关解决指导。
内容的提问来源于stack exchange,提问作者hrannarorn
相关产品推荐
相关产品推荐

