消息队列和Kafka

本文介绍了消息队列的概念,重点讲解了Kafka作为中间件的角色,包括其在异步处理、系统解耦和流量削峰中的应用,以及点对点和发布订阅模式的区别。还详细剖析了Kafka的组件如broker、topic、partition等及其功能和工作原理。
摘要由CSDN通过智能技术生成

1.消息队列:将需要发送的数据存放在队列中

2.消息队列中间件:存储消息的组件(软件),如Kafka、RabbitMQ、ActiveMQ、RocketMQ、ZeroMQ

3.Kafka应用场景:

异步处理

系统解耦

流量削峰

4.消息队列模式

点对点模式:每个消息只有一个消费者,被消费后,消息就存在了

发布订阅模式:每个消息可以有多个订阅者(消费者),发布者和订阅者有时间上的依赖性

为了消费信息,订阅者需要提前订阅消息的主题

5.Kafka:由scala和java开发

Apache Kafka 是一个分布式流平台,关键能力:

5.1发布和订阅流数据流,类似消息队列

5.2以容错的方式 存储数据流

5.3处理数据流

6.Kafka组件

broker:单个服务器节点,多个broker组成Kafka集群,通过ZooKeeper维护集群

broker是无状态的

topic:主题,代表某一类消息

消息一旦发送到主题中,就不能更改

ZooKeeper:管理和协调broker,存储了Kafka的元数据(topic、partition、consumer)

producer: 将数据推送给topic

consumer:从topic接收消息

consumer-group:是可扩展的、有容错性的消费者机制

一个消费者组有唯一ID

一个组内的所有消费者共同消费topic的所有partition数据

partition:分区,一个topic可以分成多个partition

replication:副本,将数据复制多个副本,分布在多个broker上

offset:偏移量,记录着要消息消费的进度,

offset保存在ZooKeeper中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值