Kafka 基本概念

一、概述
1、kafka是什么
Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调 的,发布/订阅模式的消息队列(Message Queue)。

Kafka主要设计目标如下:

以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能
高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输
支持Kafka Server(Kafka Broker)间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输
同时支持离线数据处理和实时数据处理
Scale out:支持在线水平扩展


2、消息队列
(1)消息队列应用场景/好处

解耦:上下游应用不在紧耦合,两边只要约定好消息格式或者规范即可
可恢复性:系统的一部分组件失效时,不会影响到整个系统
异步通信:允许用户把消息放入队列,但并不立即处理它
扩展性
削峰填谷
(2)两种模式

点对点模式:1对1,消费者主动拉取消息,消息接收到后删除消息


发布/订阅模式:1对多,消费者收到消息之后不会删除消息

3、Kafka基本术语
producer:消息生产者,就是向kafka broker发消息的客户端
consumer:消息消费者,向kafka broker取消息的客户端
consumer group:消费者组,由多个consumer组成。消费者组内每个消费者负责消费不同分区的数据,一个分区只能由一个组内消费者消费;消费者组之间互不影响。所有的消费者都属于某个消费者组,即消费者组是逻辑上的一个订阅者
broker:一台kafka服务器一个broker,一个集群由多个broker组成,一个broker可以容纳多个topic
topic:可以理解为一个队列,生产者和消费者面向的都是一个topic
partition:为了实现扩展性,一个非常大topic可以分布到多个broker上,一个topic可以分为多个partition,每个partition是一个有序的队列
replica:副本,为保证集群中的某个节点发生故障时,该节点上的partition数据不丢失,且kafka仍然能够继续工作,kafka提供副本机制,一个topic的每个分区都有若干个副本,一个leader和若干个follower
leader:每个分区多个副本的主节点,生产者发送数据的对象,以及消费者消费数据的对象都是leader
follower:每个分区多个副本的子节点,实时从leader同步数据,保持和leader数据的同步。leader发生故障时,某个follower会成为新的leader

4、kafka操作命令
# 查看topic列表
kafka-topics.sh --zookeeper zookeeper:2181/kafka --list
# 创建topic
kafka-topics.sh --zookeeper zookeeper:2181/kafka --create --replication-factor 3 --partitions 1 --topic test
# 删除topic
kafka-topics.sh --zookeeper zookeeper:2181/kafka --delete --topic first
# 控制台发送消息
kafka-console-producer.sh --broker-list kafka:9092 --topic test
# 控制台消费消息
kafka-console-consumer.sh --bootstrap-server kafka:9092 --topic test
# 查看topic详情
kafka-topics.sh --zookeeper zookeeper:2181/kafka --describe --topic test

集群加案例可参考(80条消息) kafka入门,安装,案例(一)_林柚晞你今天博学了吗的博客-CSDN博客_kafka简单的入门案例

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值