kafka专题

-------------------Kafka---------------------

一、Kafka是什么

kafka一般用来缓存数据。

1、开源消息系统

2、最初是LinkedIn公司开发,2011年开源。2012年10月从Apache Incubator毕业。
项目目标是为处理实时数据,提供一个统一、高通量、低等待的平台。

3、Kafka是一个分布式消息队列。
消息根据Topic来归类,发送消息 Producer,接收 Consumer。
kafka集群有多个kafka实例组成,每个实例成为broker

4、无论是kafka集群,还是 producer consumer 都依赖于 zookeeper 集群保存元信息,来保证系统可用性。

二、消息队列
点对点
发布、订阅模式

三、为什么需要消息队列

1、解耦

2、冗余
消息队列把数据进行持久化,直到他们已经被完全处理。

3、扩展性

4、灵活性

5、可恢复性

6、顺序保证(相对)
kafka保证一个Partition内部的消息有序。

7、缓冲

8、异步通信
很多时候,用户不想也不需要立即处理消息。
消息队列提供异步处理机制,允许用户把消息放入队列,但不立即处理。

四、Kafka架构

1、Producer 消息生产者,就是往kafka中发消息的客户端

2、consumer:消息消费者,向kafka broker中取消息的客户端。

3、topic 理解为队列。

4、Consumer Group 消费者组

组内有多个消费者实例,共享一个公共的ID,即groupID。
组内所有消费者协调在一起,消费topic。
每个分区,只能有同一个消费组内的一个consumer消费。

5、broker
一台kafka服务器就是一个broker

6、partition:一个topic分为多个partition
每个partition是一个有序队列。
kafka保证按一个partition中的顺序将消息发送个consumer。
不能保证topic整体有序

7、offset:Kafka存储文件按照offset.kafka命名。








转载于:https://www.cnblogs.com/jareny/p/10799799.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值