kafka中的多线程工作队列选项

gopyfrb3  于 2021-06-08  发布在  Kafka
关注(0)|答案(1)|浏览(371)

我们正在开发一个应用程序,它将通过udp从一组设备接收时间序列传感器数据作为字节数组。这些数据需要被解析并存储在cassandra数据库中。。。
我们使用rabbitmq作为消息代理,使用基于工作队列的使用者解析数据并将其推入cassandra。。。由于流量不断增加,我们担心rabbitmq的性能,并计划搬到Kafka。。。我们的理解是,Kafka的消费群体也可以实现这一点。。我们的理解正确吗

m2xkgtsf

m2xkgtsf1#

使用apachekafka,可以相对轻松地扩展主题。为了能够同时处理更多数据,您需要:
在同一消费者组中有多个消费者,您将能够在同一时间消费多条消息。一个主题的分区数是有限的。
增加主题的分区数,并增加使用者数。
如果您仍要处理更多数据,请增加代理的数量。
我将按照上面描述的顺序来处理可伸缩性,但是kafka可以处理很多问题。在具有2个代理、每个主题4个分区和2个使用者(每个使用者每个分区使用一个线程)的设置中,使用者将json解码为java对象,丰富并存储到cassandra,它可以处理30k/s(数据以200个insert语句的批处理方式进行批处理)。

相关问题