一、 什么是kafka
Kafka是分布式发布-订阅消息系统,它最初是由LinkedIn公司开发的,之后成为Apache项目的一部分,Kafka是一个分布式,可划分的,冗余备份的持久性的日志服务,它主要用于处理流式数据。
二、Kafka 与传统消息系统之间的区别?
(1).Kafka 持久化日志,这些日志可以被重复读取和无限期保留
(2).Kafka 是一个分布式系统:它以集群的方式运行,可以灵活伸缩,在内部通过复制数据提升容错能力和高可用性
(3).Kafka 支持实时的流式处理
三、项⽬中哪⾥⽤到了kafka,它有什么特性?
a. 场景:
i. ⼤数据部⻔流数据处理;
ii. elk;
b. 特性:
i. 它被设计为⼀个分布式系统,易于向外扩展;
ii. 它同时为发布和订阅提供⾼吞吐量;
iii. 它⽀持多订阅者,当失败时能⾃动平衡消费者;
iv. 它将消息持久化到磁盘,因此可⽤于批量消费, 例如ETL,以及
实时应⽤程序。
四、 为什么要使用 kafka,为什么要使用消息队列
缓冲和削峰:上游数据时有突发流量,下游可能扛不住,或者下游没有足够多的机器来保证冗余,kafka在中间可以起到一个缓冲的作用,把消息暂存在kafka中,下游服务就可以按照自己的节奏进行慢慢处理。
解耦和扩展性:项目开始的时候,并不能确定具体需求。消息队列可以