kafka学习

本文kafka版本2.x版本

kafka是一个分布式的消息队列,用于大数据实时处理领域

同步处理 >>>   填写注册信息----注册信息存入数据库----调用发送短信-----页面响应注册成功

异步处理 >>>   填写注册细腻----注册信息存入数据库----响应页面注册成功----发送短信写入消息队列-----发送短信

使用消息队列:

1.解耦,允许扩展和修复两边的处理过程

2.可恢复性,系统的部分组件失效时,不会影响到整个系统,处理消息进程挂了,恢复系统之后仍可以继续处理加入队列的消息

3.缓冲,有助于空值优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况

4.灵活性和峰值处理能力,面对突然多的流量可以顶住突发的访问压力,不会因为突发的超负荷请求完全崩溃

5.消息队列提供异步处理机制,允许用户把一个消息放入队列,可以不立即处理它,想放入多少消息就放入多少,然后需要的时候再去处理

消息队列的两种模式

点对点模式(一对一,消费者主动拉取数据,消息收到后消息清除):消息生产者消息发送到Queue中,然后消息消费者从高Queue中取出并且消费信息,消费之后queue不在存储此消息,可以支持有多个消费者,但对于一个消息只有一个消费者

发布/订阅模式(一对多,消费者消费数据后不会清除信息):消息生产者将消息发布到topic中,同时有多个消息消费者消费消息,发布到topic的消息会被所有订阅者消费

同一个分区的数据只能被同一个组里的消费者消费

安装

kafka命令行操作

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

bin/kafka-topics.sh   --list  --zookeeper master:2181

创建topic主题,用来分类,--topic 指定主题名 ,  --partitions指定分区数  --replication-factor 2指定副本,我有三台机器所以2个机器上分别有name-0和name-1,第三台上会有副本name-0和name-1

bin/kafka-topics.sh   --create  --zookeeper   master:2181 --topic   name    --partitions 2   --replication-factor   2

删除topic主题,

bin/kafka-topics.sh  --delete --zookeeper master:2181 --topic name

查看topic主题详细信息

bin/kafka-topics.sh   --describe --topic name --zookeeper master:2181

控制台生产者

bin/kafka-console-producer.sh --topic name  --broker-list  master:9092

控制台消费者

bin/kafka-console-consumer.sh --topic name --zookeeper master:2181    (已过时)

bin/kafka-console-consumer.sh --topic name --zookeeper  master:2181 --from-beginning  //获取已被生产者发送存入队列的数据   

bin/kafka-console-consumer.sh --topic name --bootstrap-server  master:9092 // 存放再kafka本地

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值