【问题标题】:Slow Subscriber慢速订阅者
【发布时间】:2012-12-13 09:20:33
【问题描述】:

我是 ZMQ 的新手 ZMQ 版本 - 2.2.1 Ubuntu - 10.04 我正在使用 PUB-SUB 模式在多个发布者和多个订阅者之间进行通信。转发器用于从多个发布者订阅数据,并将相同的数据发布给所有订阅者。 目前,如果三个发布者正在运行,并且每个发布者在 1 秒内通过 PUB 通道发送 1000 条消息。订阅者每 1 秒接收数据、存储数据并写入数据库。 由于数据库的参与,订阅者接收数据的速度有所延迟,导致内存使用量(RAM)每 1 秒增加 6-7MB。最后,由于OOM,订阅者被操作系统杀死 我尝试在转发器的两个套接字上使用选项 ZWQ_HWM 和 ZMQ_SWAP。但问题仍然存在。 有什么解决办法吗???

【问题讨论】:

    标签: publish-subscribe zeromq


    【解决方案1】:

    总体而言,您的问题是您的数据库跟不上您的出版商。 0MQ 无法为您解决这个问题。您需要一个基于更改系统行为的架构解决方案,大概是您进行插入的方式。

    你有几个选择:

    • 使用更快的数据库
    • 使用更快的数据库插入方法
    • 写入由另一个进程异步处理的日志
    • 更改为套接字模式,让接收者告诉发送者他们已备份,因此发送者暂停(如果可能的话)

    我认为在您的情况下,spool-to-disk-file 选项是最好的。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-12-07
      • 2013-03-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多