网上有很多Kafka的文章,但大多写得千篇一律,要么偏理论化,无实战数据参考。要么写了发现的某个问题的解决方案,对于想在实际环境上搭建真实的Kafka环境,参考意义并不大。
这篇文章基于大量的实战经验,在大规模,海量数据,以及实时处理的环境下,这些经验也是在解决Kafka很多真实问题得出的。试图在一开始就协助大家在大家在搭建真实Kafka环境的时候,提前做好最优的解决方案,避免后续不断的出各类问题,然后投入大量人力进行整改。
这篇文章不是给完全的初学者准备的,文章并不会针对索引的细节给出一步步的解决,所以,读者如果对一下基本概念不熟悉的话,建议提前阅读相关文档。
先来解答一下到底是要选择Kafka还是像RabbitMQ、RocketMQ、ActiveMQ等其他消息队列?
首先,在大数据环境下,首选一定是Kafka,批量的日志采集,大量的数据同步等,Kafka的性能极其高。
但是如果企业已经有了Kafka,还需要用RabbitMQ、RocketMQ、ActiveMQ等其他消息队列,还是直接就采用Kafka进行业务消息的处理呢?
那就要看业务的,Kafka经过最近几年发展,可靠性方面已经大幅提升,其可靠性可能并不逊色于RabbitMQ。但是我们也知道,Kafka原先是为了日志而生,而为了提高可靠性,需要进行多种配置,比如说,acks配置为-1,增加副本数

本文基于大量实战经验,探讨了在大数据环境下Kafka的选择与配置问题。Kafka适合批量日志采集和大数据同步,但在某些场景下,RabbitMQ等消息队列可能更稳定。生产者发送方式建议异步以提高性能,acks配置为1或-1取决于数据丢失容忍度,三副本提供较高可靠性。消费者推荐自动提交,但需权衡数据丢失和重复风险。
订阅专栏 解锁全文
3977

被折叠的 条评论
为什么被折叠?



