【问题标题】:NetMQ multiple publishersNetMQ 多个发布者
【发布时间】:2018-11-02 01:17:45
【问题描述】:

我正在运行一个 pub-sub 设置,该设置非常适合单个发布者和多个订阅者。

但我现在希望有多个发布者发布到同一个“频道”,当我尝试这个时,我第二次尝试绑定时收到地址已使用的错误。

为什么我不能有第二个发布者?

这适用于大约 250K 消息/秒的高吞吐量应用程序,快速阅读 xPub-xSub 表明中介会增加开销。

   private void BackgroundProcess()
    {
        int msgSeqNum = 0;
        using (var server = new PublisherSocket())
        {
            server.Options.SendHighWatermark = 1000;
            server.Bind(Connection);


            var address = Key;
            string txt;
            while (true)
            {

                if (O.TryTake(out txt, 60000))
                {
                    msgSeqNum++;
                    server.SendMoreFrame(address).SendMoreFrame(msgSeqNum.ToString()).SendMoreFrame(DateTime.UtcNow.ToString("yyyyMMddTHHmmssffffff")).SendFrame("Whatever");
                }

            }

        }
    }

【问题讨论】:

    标签: c# zeromq netmq


    【解决方案1】:

    Netmq 可以使用一对一的套接字集或一对多的套接字集。您正在接近,您将需要 xpub xsub 作为代理 netmq 实际上为此目的提供了一个代理。

    https://netmq.readthedocs.io/en/latest/xpub-xsub/

    至于为什么,这是底层 tcp 层的限制,不能将多个 tcp 监听器绑定到单个端口 afaik

    【讨论】:

      猜你喜欢
      • 2014-10-06
      • 2016-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-11-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多