大数据之Kafka(一):Kafka 简介及分布式集群的安装

本文介绍了消息队列的概念、分类及使用场景,并深入探讨了Kafka的特点和设计目标。通过详细步骤展示了Kafka的分布式安装过程,帮助读者理解Kafka在Zookeeper中的目录结构。
摘要由CSDN通过智能技术生成

一、消息队列

1.1 消息队列

为什么要使用消息队列?

  • 消息 Message
            网络中的两台计算机或者两个通讯设备之间传递的数据。例如说:⽂本、⾳乐、视频等内容。
  • 队列 Queue 
            ⼀种特殊的线性表(数据元素⾸尾相接),特殊之处在于只允许在⾸部删除元素和在尾部追加元素(FIFO)。⼊队、出队
  • 消息队列 MQ
            消息+队列,保存消息的队列。消息的传输过程中的容器;主要提供⽣产、消费接⼝供外部调⽤做数据的存储和获取。

1.2 消息队列的分类

 MQ主要分为两类:点对点(p2p)、发布订阅(Publish/Subscribe)

  • Peer-to-Peer 
    一般基于Pull或者Polling接收数据.
    发送到队列中的消息被⼀个而且仅仅⼀个接收者所接收,即使有多个接收者在同⼀个队列中侦听同一消息,既支持异步“即发即收”的消息传递⽅式,也支持同步请求/应答传送方式。
  • 发布订阅
    发布到同⼀个主题的消息,可被多个订阅者所接收
    发布/订阅即可基于Push消费数据,也可基于Pull或者Polling消费数据
    解耦能力比P2P模型更强。

 1.3 p2p和发布订阅MQ的比较

  • 共同点
            消息生产者生产消息发送到queue中,然后消息消费者从queue中读取并且消费消息
  • 不同点
    p2p模型包括:消息队列(Queue)、发送者(Sender)、接收者(Receiver)
    ⼀个生产者生产的消息只有⼀个消费者(Consumer)(即⼀旦被消费,消息就不在消息队列中)。比如说打电话。
    pub/Sub包含:消息队列(Queue)、主题(Topic)、发布者(Publisher)、订阅者(Subscriber)
    每个消息可以有多个消费者,彼此互不影响。

 1.4 消息系统的使用场景

  • 解耦 各系统之间通过消息系统这个统⼀的接⼝交换数据,⽆须了解彼此的存在
  • 冗余 部分消息系统具有消息持久化能⼒,可规避消息处理前丢失的⻛险
  • 扩展 消息系统是统⼀的数据接⼝,各系统可独立扩展
  • 峰值处理能力 消息系统可顶住峰值流量,业务系统可根据处理能⼒从消息系统中获取并处理对应量的请求
  • 可恢复性 系统中部分键失效并不会影响整个系统,它恢复会仍然可从消息系统中获取并处理数据
  • 异步通信 在不需要⽴即处理请求的场景下,可以将请求放⼊消息系统&
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Oak-Komorebi

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值