卡夫卡的工人队列选项

时间:2015-10-06 11:35:41

标签: multithreading queue apache-kafka

我们正在开发一个应用程序,它将通过UDP从一组设备接收时间序列传感器数据作为字节数组。需要解析这些数据并将其存储在Cassandra数据库中......

我们使用RabbitMQ作为消息代理并使用基于工作队列的消费者来解析数据并将其推送到cassandra ...由于流量增加,我们关注RabbitMQ性能并计划转移到Kafka。 ..我们的理解是,使用kafka中的消费者群体可以实现相同的...是我们的理解正确

1 个答案:

答案 0 :(得分:1)

使用Apache Kafka,您可以相对轻松地扩展主题。为了能够同时处理更多数据,您需要:

  • 在同一个消费者群组中拥有多个消费者,您将能够同时使用多个消息。您只能使用主题的分区数。
  • 增加主题的分区数量,并增加消费者数量。
  • 如果您还要处理更多数据,请增加经纪人数量。

我将按照上述顺序处理可伸缩性,但Kafka可以处理很多。在一个包含2个代理的设置中,每个主题有4个分区和2个消费者(每个消费者每个分区使用一个线程),消费者将json转换为java对象,丰富并存储到Cassandra,它可以处理30k / s(数据批量分批) 200个插入语句)。