赞
踩
2种模式
优点:
关于Broker里的Exchange不可以直接将消息发给Queue,必须由他进行过滤,
Exchange 的四种模式:
1. direct 模式 : 直接将消息转发到消息的 routing key 所指定的消息队列中,match不到直接丢弃
2. fanout 模式:常用的发布/订阅模式,类似公众号推送文章,每个queue都可以处理
3. topic模式:把收到的消息转发到所有关心 routing-key 的 queue 上,可以模糊匹配,匹配不到直接丢弃
4. header模式:他根据消息 header 中的 “x-match” 属性匹配已经绑定的消息队列
Queue与consumer:
push模式:消费者定期主动去Queue监控是否由message
消费完之后,Queue中不存储任何消息
定义:分布式的消息队列
集群:每个集群都是kafka实例,每个实例叫broker,依赖于zookeeper,多个集群直接可做备份,consumer 消费的是leader topic,数据保存在topic里
配置文件位置:/etc/config/server.properties
consumer依赖zookeeper保存meta数据
2个consumer可以同时消费同一个topic里的消息,zookeeper里保存consumer消费进度
在bin目录下可以看到
命令:bin/kafka-server-start.sh -daemon config/server.properties
-daemon:守护进程,可以在后台运行,如果不加-daemon看到的是阻塞进程,关闭connection后Kafka停止运行
命令:bin/kafka-server-stop.sh 后面不需要加配置文件,加了也可以
查看是Kafka否运行命令:jps
查看topics命令:bin/kafka-topics.sh --zookeeper 10.1.1.1:2181 --list
创建topic命令:bin/kafka-topics.sh --create --zookeeper 10.1.1.1:2181 --topic one --partition 2 --replication-factor 2(副本数)
PS : 此时,如果有3个集群,会在一个broker里存在一个one-0,第二个broker里存在one-1,第三个里one-1和one-0,整个集群2个one-0和one-1, 副本数不可以超过集群数
删除topic命令:bin/kafka-topics.sh --delete --zookeeper 10.1.1.1:2181 --topic one
log位置:server.log
绑定topic命令:bin/kafka-console-producer.sh --broker-list 10.1.1.1:9092 --topic one
> 在此处输入要放入topic里的message
绑定topic命令:bin/kafka-console-consumer.sh --zookeeper 10.1.1.1:9092 --topic one
PS:当消息被consumer消费后在log中会生成诸多类似consumer-offset-01的偏移量log文件,若多个consumer同时消费一个topic,是按轮询偏移量的方式消费,由zookeeper进行管理
作用:维护一个集群,防止单机故障,同步消息,集群种的leader是由zookeeper决定,/data/version-2中存储的是zookeeper的数据
异步:2个线程,一个主线程,一个send线程
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。