Kafka简介
消息系统分类:
1.Peer-to-Peer 它仅支持单播发送,一条消息只能被一个消费者消费
2.发布/订阅系统 它支持单播、多播发送,一条消息能被多个消费者消费(kafka)
常用消息系统对比:
RabbitMQ:重量级消息系统
Redis:基于Key-Value对的NoSQL数据库,轻量级,适合短消息(小于10kb)
Kafka(Scala)/jafka(Java):分布式发布/订阅,数据持久化,全分布式,同时支持在线和离线处理
Kafka设计目标
高吞吐率:在廉价的商用机器上单机可支持每秒100万条消息的读写(8核16G的虚拟机)
消息持久化:所有消息均被持久化到磁盘(顺序读写),无消息丢失,支持消息重放
完全分布式:Producer,Broker,Consumer均支持水平扩展
同时满足适应在线流处理和离线批处理
Kafka架构
Kafka安装:1.用kafka自带的zookeeper
(1)nohup是后台启动的意思,不加就是后台启动
(2)查看2181端口是否被监听
(3)启动kafka的broker
(4)创建topic
(5)启动consumer,将接受到的消息显示在控制台上
在另外一个窗口启动producer 我们在producer窗口可以发送一些数字1,2,3, 发现在consumer窗口显示这些数字。
2.用hadoop集群上的zookeeper
3.用Docker来安装和使用Kafka集群