Kafka多线程消费多个topic案例
初次使用 前段时间项目中使用了kafka作为消息队列,对大数据量的日志文件进行处理,保存存储MySQL和文件写入。具体参考kafka 消费者代码示例 分析 由于最近项目的需要,重新对kafka进行的研究,可能由于是第二次学习,对kafka有了一个更深的了解,比起第一次来说了也有了更多的感悟。其中最重要的就是对kafka分区数和消费者数目的对应关系有了更深的了解。经过再次的学习,我发现上面blog中的kafka使用方式其实并不完美,因为上面的例子在对kafka topic进行数据消费的时候采用的是单线程消费的。这个在一定程度上就会有问题,真正的生产环境下,数据量是非常大的,而且单个topic是有一定量的分区数的,具体的分区数需要看kafka是如何配置的,关于kafka具体分区数的配置请参考如何确定Kafka的分区数、key和consumer线程数、以及不消费问题解决。 kafka的分区有一个特性,就是每个分区只能被一个线程消费但是反过来不成立,也就是说每个线程可以消费多个分区的数据。kafka只能保证每个分区消费是顺序的,单多个分区之间并不保证顺序。 通过上面的说明,在真正消费的时候我们....