gpt4 book ai didi

zeromq DEALER 客户端到多个服务器 (ROUTER)

转载 作者:行者123 更新时间:2023-12-04 15:12:07 25 4
gpt4 key购买 nike

我将 ZEROMQ 用于分布式消息传递应用程序。需要将客户端(DEALER 套接字)连接到多个服务器(服务器端的 ROUTER 套接字)。我在客户方面有哪些选择?

  • 在客户端为每个服务器端点(ROUTER 套接字)创建 DEALER 套接字。
  • 在客户端只创建一个 DEALER 套接字并添加多个端点。

  • 我尝试了选项 2 - 连接到多个端点,但消息总是发送到第一个连接的端点。遵循以下步骤:
  • 创建经销商 socket
  • 连接到第一个端点
  • 然后在运行时,使用 socket.connect(endpoint) 向套接字添加另一个端点。
    我需要重新连接吗?

  • 在 DEALER 套接字中,如果连接到多个端点,则无法在特定端点上发送消息。

    任何的想法?

    最佳答案

    ZeroMQ 将某些行为编码为套接字类型。这些主要处理:

  • 处理多个对等点
  • 处理无法送达的消息
  • 处理过量吞吐量 (HWM)

  • DEALER 套接字是可以连接到多个对等方的套接字,并使用 LRU(最近最少使用,又名循环)来决定哪个对等方接收每条消息。如果您不想要这种行为,那么您不想要具有多个对等点的 DEALER 套接字。

    如果要决定哪个对等方接收消息,有两种选择:
  • 每个对等点创建一个 DEALER,并在适当的套接字上发送
  • 创建一个连接到所有对等点的 ROUTER,并使用 IDENTITY 前缀来路由消息。您可能需要通过侧 channel 传递 IDENTITIES,以便使用 ROUTER-ROUTER 连接。

  • at run time, add another endpoint to the socket by using socket.connect(endpoint). Do I need to reconnect?



    不,您不需要重新连接。您可以在计划期间随时添加(和删除)对等点。

    关于zeromq DEALER 客户端到多个服务器 (ROUTER),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19070140/

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