kafka安装包
提取码: ci74
一、消息队列
相关概念:消息队列中间件是分布式系统中非常重要的中间件,主要解决 应用耦合,异步消息,流量削峰 等问题。实现 高性能,高可用,可伸缩和最终一致性架构。是大型分布式系统不可缺少的中间件。
使用场景如:
- 异步处理: 如用户注册后,发送注册邮件,再发送注册短信。
- 应用解耦: 如用户下单后,订单系统需要通知库存系统。
- 流量削峰:如秒杀活动,一般会因为流量过大,导致流量暴增。
- 日志处理:解决大量日志传输问题,日志采集客户端,负责日志采集,写入消息队列。消息队列复制日志后续处理转发。
- 消息通讯:
目前生产环境使用较多的消息队列有:activeMQ、rabbitMQ、zeroMQ、Kafka、metaMQ、rocketMQ等。
二、kafka简介
kafka是一种高吞吐量的分布式发布订阅消息系统,他可以处理消费者规模较大网站中所有动作流数据。官网地址:http://kafka.apache.org/http://kafka.apache.org/
优势:高吞吐量,非常普通的应将kafka也可以支持每秒数百万的消息。 支持通过kafka服务器和消费机集群来区分消息。支持hadoop并行数据加载。
关键词:
- broker: kafka集群中的一台或多台服务器统称broker。
- Topic: kafka处理的消息源(feeds of messages)的不同分类。
- partition:Topic物理机上的分组,一个topic可分为多个partition,每个partition是一个有序的队列。partition中的每条消息都会被分配一个有序的id(offset)。
- Message :消息,是通信的基本单位。每个producer可以向一个topic(主题)发布一些消息。
- producers:消息和数据的生产者,向kafka的一个topic发布消息的过程叫producers。
- consumers:消息和数据消费者,订阅topic并处理其发布的消息的过程叫做co