为什么一些 azure 服务总线消息在 kubectl 日志中没有任何错误地进入 Deadletter 队列?
Why some azure service bus message go to Deadletter queue without any error in kubectl log?
我通过 kubectl logs <-POD->
检查了 Azure AKS 日志,我在开始处理它时在开头记录了消息 ID。但是,没有日志记录几条突然发到Deadletter的消息。我试图再次将它们放入正常队列,但遇到了类似的结果。
为什么会这样?如何解决?
下面是我有时能看到的日志,但应该也是在一段时间后恢复处理消息。 (我运行4pods并联)
Error for serviceBusService.receiveQueueMessage()
Error: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Service Unavailable</h2>
<hr><p>HTTP Error 503. The service is unavailable.</p>
</BODY></HTML>
at Function.ServiceClient._normalizeError (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:757:12)
at ServiceBusService.ServiceClient._processResponse (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:455:41)
at Request.processResponseCallback [as _callback] (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:213:35)
at Request.self.callback (/usr/src/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:203:13)
at Request.<anonymous> (/usr/src/app/node_modules/request/request.js:1161:10)
at Request.emit (events.js:203:13)
at IncomingMessage.<anonymous> (/usr/src/app/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:291:20)
at IncomingMessage.emit (events.js:208:15)
看起来您可能遇到了 transient exception。对于此类错误,您可以设置一个带有回退的重试,直到成功。
我相信在大多数情况下,此类错误应该在重试几次后解决,除非当时服务出现重大问题。
我通过 kubectl logs <-POD->
检查了 Azure AKS 日志,我在开始处理它时在开头记录了消息 ID。但是,没有日志记录几条突然发到Deadletter的消息。我试图再次将它们放入正常队列,但遇到了类似的结果。
为什么会这样?如何解决?
下面是我有时能看到的日志,但应该也是在一段时间后恢复处理消息。 (我运行4pods并联)
Error for serviceBusService.receiveQueueMessage()
Error: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN""http://www.w3.org/TR/html4/strict.dtd">
<HTML><HEAD><TITLE>Service Unavailable</TITLE>
<META HTTP-EQUIV="Content-Type" Content="text/html; charset=us-ascii"></HEAD>
<BODY><h2>Service Unavailable</h2>
<hr><p>HTTP Error 503. The service is unavailable.</p>
</BODY></HTML>
at Function.ServiceClient._normalizeError (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:757:12)
at ServiceBusService.ServiceClient._processResponse (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:455:41)
at Request.processResponseCallback [as _callback] (/usr/src/app/node_modules/azure-common/lib/services/serviceclient.js:213:35)
at Request.self.callback (/usr/src/app/node_modules/request/request.js:185:22)
at Request.emit (events.js:203:13)
at Request.<anonymous> (/usr/src/app/node_modules/request/request.js:1161:10)
at Request.emit (events.js:203:13)
at IncomingMessage.<anonymous> (/usr/src/app/node_modules/request/request.js:1083:12)
at Object.onceWrapper (events.js:291:20)
at IncomingMessage.emit (events.js:208:15)
看起来您可能遇到了 transient exception。对于此类错误,您可以设置一个带有回退的重试,直到成功。
我相信在大多数情况下,此类错误应该在重试几次后解决,除非当时服务出现重大问题。