【问题标题】:What happens to subscribers when the Kafka service is down? Do the need to subscribes to a specific topic when it restart?当 Kafka 服务关闭时,订阅者会发生什么?重启时是否需要订阅特定主题?
【发布时间】:2021-11-08 14:23:58
【问题描述】:

目前我必须将事件从外部发送到需要订阅这些事件的客户端。我有一个遵循服务器发送事件规范的客户端调用(订阅)的端点。这将打开一个 HTTP 连接,该连接由发送“心跳”事件的服务器保持活动状态。

问题在于,当需要重新部署此服务,或者它出现故障时,客户端有责任重新订阅调用此端点,以再次实时接收事件。

我想知道,如果我切换到 rabbitMQ 或 Kafka 之类的技术,我可以解决这个问题吗?换句话说,如果服务器端出现问题,我想免除客户端重新订阅的责任。

如果您可以将文章/资源附加到您的答案中,那就太好了。

【问题讨论】:

  • Kafka 消费者线程也有心跳,并定期建立 TCP 连接。如果断开连接时间很长,它们将需要重新启动

标签: apache-kafka rabbitmq message-queue


【解决方案1】:

使用 RabbitMQ ,重新连接功能取决于客户端库。例如,Java 和 .NET 客户端确实提供了这个(检查here) 对于 Kafka,我看到有 configurations 支持这一点。此外,值得一读 Kakfa 的出色建议,以解决代理中断问题here

【讨论】:

  • 是的。但我说的是不同地方的服务,而不是同一个微服务基础设施中的服务。需要一个网络套接字。我对 rabbitmq 和 kafka 不是很熟悉,如果它们即使在这种情况下也可以使用的话。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-17
相关资源
最近更新 更多