Azure服务总线间歇性故障“;40400:找不到端点“;

Azure服务总线间歇性故障“;40400:找不到端点“;,azure,servicebus,Azure,Servicebus,我在Azure服务总线上有一些奇怪的错误。对于长时间运行的应用程序,使用批处理api,以便我可以一次读取一批消息(并在没有可用消息时进行节流等),我最终将开始出现“40400:Endpoint not found”错误。这些只是暂时的,因为它不会停止一切,但一旦它们发生,它们就会间歇性地持续 我还经常收到消息锁丢失异常,有60秒超时,用于更新成批消息(一次最多100条)。这真的不应该发生,因为它是在“测试”条件下运行的,在“测试”条件下读取消息,消息不会发生任何变化,然后我完成它们(也就是说,不

我在Azure服务总线上有一些奇怪的错误。对于长时间运行的应用程序,使用批处理api,以便我可以一次读取一批消息(并在没有可用消息时进行节流等),我最终将开始出现“40400:Endpoint not found”错误。这些只是暂时的,因为它不会停止一切,但一旦它们发生,它们就会间歇性地持续

我还经常收到消息锁丢失异常,有60秒超时,用于更新成批消息(一次最多100条)。这真的不应该发生,因为它是在“测试”条件下运行的,在“测试”条件下读取消息,消息不会发生任何变化,然后我完成它们(也就是说,不存在需要任何时间才能导致超时的“编程逻辑”)

我真的不知道如何找出这些发生的原因以及我能做些什么来预防它们

显然,我有所有的重试逻辑,所以它不会关闭我的应用程序,但最终,我的应用程序将处理消息如此缓慢,实际上它什么都不做


我怀疑这是因为我的队列(一个“全球队列”)位于北欧,而我的应用程序位于美国东部,所以延迟导致了一个问题。如果是这种情况,那么我真的很困惑,因为它是一个Azure数据中心,与另一个Azure数据中心通信(因此应该很快)。其次,如果性能如此糟糕,您究竟应该如何为分布式访问构建全局队列?AFAIK服务总线不支持单端点全局分布队列…

您的错误消息是否包含TrackingId和服务时间戳?是的。进一步研究,我认为队列在某种程度上被破坏了(我删除了它并重新创建了它以清除超过1M条记录)。我使用的Azure Service Bus Explorer工具在读取死信队列时遇到问题。我现在已经清理了队列,让它停留几个小时,然后重新创建了它。下周我将再次尝试相同的卷测试。因此,我所有的问题似乎都与延迟有关。我的吞吐量非常糟糕,有时队列似乎在5-6秒内什么都不处理。当我转而在英国对一个北欧的消费者进行测试,而不是在美国东部对一个排队的消费者进行测试时,相比之下,它表现得非常快。因此,我很难理解如何处理全局队列分布-根据我目前的经验,服务总线在这种情况下实际上是不可用的。您的错误消息包括TrackingId和服务时间戳吗?是的。进一步研究,我认为队列在某种程度上被破坏了(我删除了它并重新创建了它以清除超过1M条记录)。我使用的Azure Service Bus Explorer工具在读取死信队列时遇到问题。我现在已经清理了队列,让它停留几个小时,然后重新创建了它。下周我将再次尝试相同的卷测试。因此,我所有的问题似乎都与延迟有关。我的吞吐量非常糟糕,有时队列似乎在5-6秒内什么都不处理。当我转而在英国对一个北欧的消费者进行测试,而不是在美国东部对一个排队的消费者进行测试时,相比之下,它表现得非常快。因此,我很难理解如何处理全局队列分布——根据我目前的经验,服务总线实际上不适用于这种情况