kafka的环境搭建
kafka是一个高吞吐量的消息系统。隔离消息接收和处理过程(可理解为一个缓存)
1、kafka伪分布的部署
1.1、下载并解压
1.2、启动zk
bin/zookeeper-server-start.sh config/zookeeper.properties
*发布和订阅通过zk实现,kafka设计就使用了zk
1.3、启动kafka的服务
bin/kafka-server-start.sh conf/server.properties
1.4、创建主题
bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic mykafka
1.5、查看主题
bin/kafka-topics.sh --list --zookeeper localhost:2181
1.6、创建生产者
bin/kafka-console-producer.sh --broker-list localhost:9092 --topic mykafka
1.7、创建消费者
bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic mykafka --from-beginning
2、kafka集群的部署
2.1、搭建zk集群
2.2、修改config/server.properties
broker.id 唯一,数字
host.name 唯一,填服务器
zookeeper.connect=hadoop110:2181,hadoop111:2181...
2.3、复制到其他节点上
修改相应的broker.id host.name
启动方式和伪分布一样,简单操作如上
整个架构引入队列系统的原因:
1、为了缓解web服务器端的处理压力,我们需要一个队列系统来缓冲客户端发送过来的消息,以供后续程序处理。
2、为了同时支持消息的实时处理和持久化保存,我们需要一个队列系统来做消息分发。