gpt4 book ai didi

msmq - NServiceBus MSMQ 消息间歇性地卡在传出队列中

转载 作者:行者123 更新时间:2023-12-04 18:13:24 28 4
gpt4 key购买 nike

我们有一个基于 NServiceBus 的 Pub/Sub 系统,我们有间歇性问题,消息无限期地卡在发布者传出队列上,而不是被传输到订阅者输入队列。

注意事项:

  • 当我们重新启动发布者服务和订阅者服务时,消息流会恢复正常一段时间。
  • 如果消息之间出现持续的时间段,该问题似乎会更频繁地发生。
  • 发布者服务驻留在 LAN 上,订阅者驻留在防火墙的另一端。
  • 一些消息通过!正如服务重新启动后所提到的,一段时间内一切正常。
  • 使用 QueueExplorer,我可以看到 Outgoing 队列上的消息处于 WAITING 状态。

  • 令人讨厌的是,我们的开发环境并没有表现出这种行为,但是发布者和订阅者再次都驻留在这个环境中的同一个 LAN 上。

    最佳答案

    MSMQ 消息卡在传出队列中纯粹是 MSMQ 问题。重新启动发布者和订阅者服务应该没有区别,因为它们不直接参与消息传递。如果您只能通过重新启动发布/订阅服务而不是消息队列服务来解决问题,那么它看起来像是资源/内存泄漏问题。

    我想象这样的事情发生:

  • 消息流向目的地,在存储它们时会消耗内核内存
  • 出于某种原因,内核内存耗尽(消息过多,内存泄漏,无论如何)
  • 目的地现在拒绝新消息,因为它们无法从线路加载到内存
  • 连接被重置,直到达到 WaitTime 值才重新连接;队列此时正在“等待”
  • 系统循环遍历 (3) 和 (4) 直到 ...
  • Pub/Sub 服务重新启动,现在有足够的资源来传递消息
  • 转到 (2)

  • 当使用它的众多服务和设备驱动程序之一临时释放足够的内核内存时,偶尔会出现消息。

    这篇博文的第 4 项是最有可能的罪魁祸首:
    http://blogs.msdn.com/b/johnbreakwell/archive/2006/09/18/insufficient-resources-run-away-run-away.aspx

    干杯
    约翰·布雷克韦尔

    关于msmq - NServiceBus MSMQ 消息间歇性地卡在传出队列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8499103/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com