【问题标题】:Bidirectional messaging system using kafka使用kafka的双向消息系统
【发布时间】:2017-01-31 02:57:07
【问题描述】:

是否有可能使用 apache kafka 开发双向消息传递系统? 我需要从我的消费者那里订阅一个主题,并且我需要从我的消费者那里发送消息。

【问题讨论】:

  • 使用两个消息主题?
  • @jaco0646 如何将消息从消费者发送到服务器?
  • 在服务器监听的主题上放一条消息。
  • 所以对于双向消息系统,我需要创建两个生产者和两个消费者。
  • 是的。没错。

标签: java apache-kafka kafka-consumer-api kafka-producer-api


【解决方案1】:

您可以选择以下两种方式之一。要么为消息键设置前缀系统,要么将内容放入消息中,让消费者避免它产生的消息。

现在要不要这样设计,就看你的消息流量了。如果您不是用事件来抨击它,那么最好考虑使用 Thrift 之类的东西来让您的消息组件进行双向通信。相对于其复杂性而言,Kafka 真正擅长的地方是当您需要生产和消费大量数据时。对你来说可能不是这样。

例如,Kafka 的一个常见用例是将其连接到 Storm、Apex 或 Samza 等服务,以对数百 GB 甚至 TB 的数据进行分布式处理。如果您的系统具有高吞吐量要求,那么该架构将是一个很好的架构,可以将其作为 Kafka 处理消息的起点。使用 Storm,如果您需要发回消息以进行重新处理,您始终可以使用 Kafka Bolt 将消息重新发布到 Kafka 中,以确保它得到完全重新处理。

【讨论】:

  • 还有其他选项可以从消费者端发送新消息吗?
猜你喜欢
  • 2019-02-09
  • 2018-05-05
  • 2020-09-12
  • 2014-03-02
  • 1970-01-01
  • 2012-09-22
  • 2021-11-09
  • 1970-01-01
  • 2018-05-11
相关资源
最近更新 更多