前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kafka-1-简介

kafka-1-简介

原创
作者头像
Get
发布2024-03-10 20:13:06
1450
发布2024-03-10 20:13:06

Kafka的基础架构

代码语言:java
复制
1、Producer:消息生产者,就是向 kafka broker 发消息的客户端;
2、Consumer:消息消费者,从 kafka broker 拉取消息的服务端;
3、Consumer Group:消费者组,由多个 consumer 组成。消费者组内每个消费者负责消费不同分区的数据,
                   一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,
                   即消费者组是逻辑上的一个订阅者。
                   "某一个分区中的消息只能够一个消费者组中的一个消费者所消费" 
                   例如:该分组正消费的消费者挂了,可由该分组的其他消费者消费
4、Broker:经纪人,一台Kafka服务器就是一个Broker,一个集群由多个Broker组成,一个Broker可以容纳多个Topic。
5、Topic:主题,可以理解为一个队列,生产者和消费者都是面向一个Topic
6、Partition:分区,为了实现扩展性,一个非常大的Topic可以分布到多个Broker上,
              一个Topic可以分为多个Partition,每个Partition是一个有序的队列
              "分区有序,不能保证全局有序;若要全局有序,则只能使用一个Partition"
7、Replication:副本Replication,为保证集群中某个节点发生故障,节点上的Partition数据不丢失,Kafka可以正常的工作,
                Kafka提供了副本机制,一个Topic的每个分区有若干个副本,一个Leader和多个Follower
8、leader:每个分区多个副本的主角色,生产者发送数据的对象,以及消费者消费数据的对象都是Leader。
9、follower:每个分区多个副本的从角色,实时的从Leader中同步数据,保持和Leader数据的同步,
             Leader发生故障的时候,某个Follower会成为新的Leader。
kafka的作用:
解耦
冗余(存储)
扩展性
削峰
可恢复性
顺序保证
缓冲
异步通信

Kafka的消费模式主要有两种:

代码语言:java
复制
1、一对一消费,也即点对点的通信,即一个发送一个接收。
2、一对多消费,即一个消息发送到消息队列,消费者根据消息队列的订阅拉取消息消费。

一对一

代码语言:java
复制
消息生产者发布消息到Queue队列中,通知消费者从队列中拉取消息进行消费,消息被消费之后则删除。
Queue支持多个消费者,但对于一条消息而言,只有一个消费者可以消费,即一条消息只能被一个消费者消费。

一对多

代码语言:java
复制
这种模式也称为发布/订阅模式,即利用Topic存储消息,消息生产者将消息发布到Topic中,
同时有多个消费者订阅此topic,消费者可以从中消费消息。

注意发布到Topic中的消息会被多个消费者消费,消费者消费数据之后,数据不会被清除,
Kafka会默认保留一段时间,然后再删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com