IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> MQ消息队列 -> 正文阅读

[大数据]MQ消息队列

作用

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

RecoketMQ

主题实际就是消息类型!
生产者可以生产多种类型的消息,不同类型的消息放入对应的主题,一个主题可由一个或多个消费者消费!(消费者只能消费一个主题)
在这里插入图片描述

主题中有多个队列,会将消息细分:
在这里插入图片描述

Broker就是一个个节点!
NameServer就是整个消息队列的路由器!
在这里插入图片描述

注意:
NameServer也是集群部署的!
Broker启动时会将自己的信息轮询注册到每个NameServer中!

客户端对Name Server的选择?

先随机,失败则轮询!

工作流程

生产者节点获取一个NameServer建立长连接 ==> 将路由信息缓存到本地(每30秒更新路由信息) ==> 生产者根据消息类型,从路由表中查找对应的Broker以及其中的Topic以及其中确切的队列Queue ==> 向对应的队列发送消息

(recoketmq的分布式实现是由内部的NameServer实现的;kafka的分布式是由zookeeper实现的!)
在这里插入图片描述

消息队列常见问题

为什么使用MQ?

限流削峰、异步解耦、数据收集!

如何保证消息不丢失?

  • 确认机制:当消息被成功添加进消息队列,或成功被消费则返回一个确认消息!如果长时间没收到发送的确认响应,就会自动重试。(和TCP保证可靠性原理一致!)

如何解决重复消费问题?(保证幂等性)

  • 消息本身幂等性:一个消息被重复消费后不会产生错误后果
  • 使用缓存: 每个消息都已一个全局唯一ID,当一个消息需要被消费时,将此消息的ID添加进Redis缓存set集合中,如果添加失败,说民消息已经被消费过!

保证消息队列的高可用?

建立高可用集群:RecoketMQ由内部的NameServer实现;kafka的由zookeeper实现的!

保证顺序消费?

将需要消费的消息顺序投递到同一个队列中 ===> 由一个消费者消费该队列!

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-09-04 17:36:52  更:2021-09-04 17:39:16 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 16:50:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码