kafka

kafka

一. 简单认识kafka

​ 消息队列的通信模式:

​ 1.点对点模式:一个生产者生产的消息由一个消费者进行消费

​ 点对点模式的优点,消费者主导消费速度,消费者拉取消息的频率可以由自己控制,但是消息队列是否有消息需要额外的线程去监控。

​ 2.发布订阅模式:一个生产者或者多个生产者产生的消息能够被多个消费者同时消费。

​ 发布订阅模型中,机器性能往往不一样,所以处理消息的能力也不一样,但是这种不同,消息队列感知不到,所以消费速度取决于推送的速度

​ 3.其他通讯模式:

​ 多点广播-将消息发送到多个目标站点

​ 集群通讯-集群类似于一个域(Domain),集群内部的队列管理器之间通讯时,不需要两两之间建立消息通道,而是采用cluster通道与其他成员进行通讯。

kafka由Linkedin公司开发,分布式,多分区、多副本,基于zookeeper的分布式消息流平台,也是一款开源的基于发布订阅模式的消息引擎系统。能够支撑海量数据的数据传递。在离线和实时的消息处理业务系统中,Kafka都有广泛的应用。Kafka将消息持久化到磁盘中,并对消息创建了备份保证了数据的安全。Kafka在保证了较高的处理速度的同时,又能保证数据处理的低延迟和数据的零丢失。http://kafka.apachecn.org/documentation.html

kafka特性:

​ 高吞吐、低延迟、高伸缩、可扩展、持久性、可靠性、容错性、高并发

在这里插入图片描述

消息Message

​ kafka数据单元称为message,消息记录。

批次

​ 一批消息,kafka分批写入消息

主题topic

​ 一类消息,对消息进行分类,类似数据库中的表。

分区partition

​ 主题可以被分为若干个分区,类似横向分表,同一个主题可以不在一台机器上。topic中的数据分割为一个或多个分区,每个主题至少一个分区,类似一个进程至少一个线程。每个分区中的数据使用多个文件进行存储。不同分区的数据是相对独立的,同一分区中的数据是有序存储的。如果有严格保证消费顺序关联性的场景,则将分区数设为1.

broker

一个独立的kafka服务器就被称为broker,broker接受来自生产者的消息,为消息设置偏移量,并提交消息到磁盘保存。

broker cluster

borker是集群的组成部分,分布式系统多采用选举raft算法。每个集群有一个broker当控制器。

副本replica

kakfa中消息的备份叫做副本replica(replication),副本的数量是可以配置的,kafka定义了两类副本:领导者副本(leader replica)和追随者副本(follower replica),所有写请求都通过Leader路由,数据变更会广播给所有follower,follower与leader保持数据同步。同样有选举制度。

这里与一般分布式集群主从系统有一个更新,在一般的ack=(0,1,all)同步机制之上,提出了一个ISR,OSR机制,刚开始所有副本都是ISR级别,但是在一定时间内,你同步不上就会被踢出一批队到OSR,之后若再次跟上leader进度则再给ISR权限。leader只会等ISR不会等OSR。

消费者和消费者群组 consumer group

生产者与消费者的关系就如同餐厅中的厨师和顾客之间的关系一样,一个厨师对应多个顾客,也就是一个生产者对应多个消费者,消费者群组(Consumer Group)指的就是由一个或多个消费者组成的群体。

偏移量 consumer offset

kafka存储分区的数据标识,分区文件顺序binary存储,offset记录数据对于第一条数据的磁盘相对位置。

重平衡rebalance

消费者组内某个消费者实例挂掉后,其他消费者实例自动重新分配订阅主题分区的过程。Rebalance 是 Kafka 消费者端实现高可用的重要手段。

kafka生产路线Ack

0==>就生产者无脑上传,不等回信。

1==>等leader回信。leader故障就凉凉。

-1(all)==>全等。

fka生产路线Ack

0==>就生产者无脑上传,不等回信。

1==>等leader回信。leader故障就凉凉。

-1(all)==>全等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值