Kafka

Kafka

是一个分布式,支持分区的(partition),多副本的(replica),基于zookeeper协调的分布式消息系统
是一个分布式消息队列,生产者,消费者的功能
对消息保存时根据Topic进行分类,发送消息的为Producer,消息接受者为consummer,依赖于zookeeper
broker:每个kafka实例
topic:
partition:
zookeeper:依赖集群保存meta信息
kafka只能保证一个partition中的消息被某个consummer消息时时顺序的

启动集群:

 nohup bin/kafka-server-start.sh config/server.properties & 

查看当前服务器中的所有topic

 bin/kafka-topic.sh --list --zookeeper hadoop01:2181

创建topic:

bin/kafka-topics.sh --create --zookeeper hadoop01:2181 --replication-factor | --partitions | --topic test

删除topic:

 bin/kafka-topics.sh  --delete --zookeeper hadoop01:2181 --topic test

消息可靠性:

消息只会被发送一次
至少会发送一次
至多会被发送一次

partition,segement,offset 都是为topic服务的,每个topic可以分为多个partition,一个partition相当于一个大目录,每个partition下面有多个大小不等的segement文件
segement由 index 和 data 组成, 索引和数据,对于partition来说,segement名称从0开始,之后每一个segement为上一个offset的值

ISR;消息副本队列
落后太多,leader从ISR列表中删除
在这里插入图片描述
在这里插入图片描述

kafka数据一致性:

一致性定义:若某条消息对consummer可见,那么即使leader当机了,在新leader上数据依然可以被读到
1.HighWaterMark : HW partition的高水位,取一个partition对应的ISR中最小的LER作为HW,消费者最多只能消费
到HW所在的位置,另外每个replication都有HW
2.对于leader新写入的msg,consummer不能立刻消费,leader会等待该消息被所有ISR中的副本同步后,更新HW,才能被Consummer消费

Kafka数据完整性:

当producer向leader发送数据时,可以通过request.required.acks参数来设置数据可靠性的级别

特性

高吞吐量,低延迟
可扩展性:kafka支持热扩展
持久性,可靠性:消息被持久到本地磁盘,并且支持数据备份防止数据丢失
容错性:允许集群中节点失败,(若副本为n,则允许n-1节点失败)
高并发:支持数千个街护短同时读写
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值