RabbitMQ(面试篇)

news/2024/9/18 14:49:32/ 标签: rabbitmq, 面试, 分布式

目录

MQ是什么

MQ的优点

消息队列有什么缺点

什么是RabbitMQ?

rabbitMQ的使用常见

RabbitMQ基本概念


大家一起加油 !!!

MQ是什么

MQ是消息队列,是软件和软件之间同行的中间件产品

MQ的优点

异步处理,应用解耦,流量削峰,日志处理,消息通信

消息队列有什么缺点

1. 系统可用性降低

        系统或通过消息队列传递消息,消息队列挂了,你的系统也就挂了

2. 系统复杂度提高

        比如你要考虑消息一致性,如何保证消息不被重复消费,以及消息可靠性传输。考虑东西多了,复杂性增加

什么是RabbitMQ?

是一款开源的消息中间件,实现了服务之间的高度解耦,可以用它来:解耦、异步、削峰。

rabbitMQ的使用常见

服务间异步通信

顺序消费

定时任务

请求削峰

RabbitMQ基本概念

Broker:消息队列服务器实体

Exchange:消息交换机

Queue:消息队列

Binding:绑定,它的作用就是把Exchange和queue按照路由规则绑定起来

RoutimgKey:路由关键字,exchange根据这个关键字进行消息投递

VHost:vhost可以理解为虚拟机broker,即mini-RabbitMQ server。其内部均含有独立queue、exchange和binding等,但最重要是,其拥有独立权限系统,可以做到vhost范围的用户控制。当然,从RabbitMQ的全局角度,chost可以作为不同权限隔离的手段,可以做到vhost范围的用户控制。从TabbitMQ的全局角度,chost可以作为不同权限隔离的是手段

Producer:消息生产者

Consumer:消息消费者

Channel:消息通道


http://www.ppmy.cn/news/1516337.html

相关文章

鸿蒙开发5.0【基于CameraKit,通过avrecorder进行录像】

1 场景描述 录像是相机应用的最重要功能之一,录像是循环帧的捕获。本文通过CameraKit自定义相机并通过avrecorder进行录像。 2 效果图 3 自定义相机录像流程图 4 方案描述 4.1 整体描述: 总体可分为:1、相机输入,2、同时输出预览流录像流…

电商云账户:空中分账场景的优势探索

在当今这个数字化时代,电子商务已成为推动全球经济发展的重要力量。随着交易量的激增和交易模式的多样化,如何高效、安全地管理这些交易资金成为了电商平台和商家面临的重要挑战。空中分账,这一基于电商云账户的创新解决方案,正以…

SQLite简记

文章目录 概述SQLite 的特点轻量级与嵌入式设计文件系统存储无需服务器进程其他SQLite 的架构使用 SQLite安装 SQLite配置和维护 SQLite创建数据库文件FTS(全文搜索)JSON 支持外部函数扩展SQL命令FAQ为什么在嵌入式系统和移动设备中喜欢使用 SQLite概述 SQLite 是一种轻量级…

UniApp与HTML5的区别及应用场景分析

uniapp是一个使用 Vue.js 开发所有前端应用的框架,开发者编写一套代码,可发布到iOS、Android、Web(响应式)、以及各种小程序(微信/支付宝/百度/头条/QQ/钉钉/淘宝)、快应用等多个平台。 HTML5是构建Web内容…

ES6中解构的使用

一、提取几个属性,构造一个新的对象 在JavaScript中,你可以使用对象解构(Object Destructuring)来提取一个对象中的几个属性,并构造一个新的对象。下面是一个示例: 在这个例子中,name和email属性…

5. HashMap的工作原理是什么?如何处理哈希碰撞?

​​​​HashMap是Java集合框架中的一个用于存储键值对的集合。它基于哈希表(Hashtable)实现,允许以常数时间复杂度(O(1))进行插入、删除和查找操作。以下是HashMap的工作原理和关键概念: 哈希函数: 当你将…

Kubernetes中etcd备份与恢复

在Kubernetes (K8s) 中,etcd 是一个分布式键值存储系统,存储了整个集群的配置和状态数据。由于etcd在K8s集群中的核心作用,定期备份和有效恢复etcd数据对于维护集群的高可用性和数据完整性至关重要。 一、etcd概述 1.1 etcd的作用 etcd是一…

环境问题处理:Python写工具,转换excel内容合并到xml中(openpyxllxml)

问题描述 提示报错,但是没有像java代码的解决方案推荐。 Note:PycharmProjects\项目名\venv\Scripts 创建项目时自带的脚本,也包含python.exe 查看python文件有输出路径,使用python也能打开python3.8,但是无法查找pyt…

前端学习Day34

Day34:P160-P167 学习笔记: 1.对象解构: 对象解构是将对象属性和方法快速批量赋值给一系列变量的简洁语法 基本语法: .赋值运算符左侧的0用于批量声明变量,右侧对象的属性值将被赋值给左侧的变量 .对象属性的值将被赋值给与属性名相同的变量 .注意…

C和C++中数组的不同

本文选自公众号文章: https://mp.weixin.qq.com/s/xyUMWTyEu7-Uws8Zfxifpg (1)在C99标准中引入了可变长度数组 (Variable-Length Arrays, VLA) 的概念。可变长度数组允许在运行时确定数组的大小,这使得数组的大小可以在函数调用时动态决定。例如&#…

Linux核心命令入门

Linux常用命令 文件管理文件目录管理文件查看编辑 系统管理网络管理hostnamehost/nslookuptraceroutenetstat列出所有端口 (包括监听和未监听的)列出所有处于监听状态的 Sockets显示每个协议的统计信息 硬件管理df(Disk Free)du(Disk Usage&a…

【Pyhthon读取 PDF文件表格 ,转为 CSV/TSV/JSON文件】

tabula-py tabula-py 是一个将 PDF 表格转换为 pandas DataFrame 的工具。 tabula-py 是 tabula-java 的包装器,需要您的机器上有 java。 tabula-py 还允许您将 PDF 中的表格转换为 CSV/TSV 文件。 tabula-py 的 PDF 提取准确度与 tabula-java 或 tabula app 相…

【AI绘画】Midjourney前置/imagine与单图指令详解

文章目录 💯Midjourney前置指令/imagine什么是前置指令?/imaginepromptUpscale(放大)Variations(变化)🔄(重新生成一组图片) 💯单张图片指令Upscale (细节优化)Vary(变体…

简单步骤获取IP地址SSL 证书

在网络安全中,SSL证书在保护用户浏览器和Web服务器之间交换的敏感信息方面发挥着至关重要的作用。 但是,如果您不仅想保护域名,还想保护特定的IP地址,该怎么办?您可以为IP地址获取SSL证书吗? 简短的回答是…

Java Leetcode每日一题:DFS

解法1:深度优先搜索(DFS) 深度优先搜索的做法非常直观。根据给定的员工编号找到员工,从该员工开始遍历,对于每个员工,将其重要性加到总和中,然后对该员工的每个直系下属继续遍历,直到…

一看就会的Mysql 集群技术

目录 一、Mysql介绍 1.1什么是MySQL 1.2MySQL的优势 1.3MySQL的常用语句 二、MySQL源码安装 三、实验练习 3.1MySQL部署 实验环境 实验步骤 1.创建用户,数据目录,更改权限 2.修改文件 3.初始化,会生成一个密码,将其保…

java 二级列表 stream流实现

效果&#xff1a; 表数据的样子 代码&#xff1a; public Result secondaryList() {List<MachineryType> machineryTypes machineryTypeMapper.selectList(new QueryWrapper<MachineryType>().orderByAsc("pid"));// 创建父子关系Map<Integer, Mach…

“Ruby宝石匣:解锁流行插件系统的奥秘“

标题&#xff1a;“Ruby宝石匣&#xff1a;解锁流行插件系统的奥秘” 引言 Ruby&#xff0c;作为一种灵活且富有表现力的编程语言&#xff0c;其强大的插件系统是其成功的关键因素之一。从RubyGems到各种Rails插件&#xff0c;Ruby的插件生态系统为开发者提供了丰富的资源和工…

Git学习笔记(最终篇)

文章目录 远程仓库一. 配置远程连接二. 添加远程仓库推送本地仓库内容到远程仓库 三. 推送步骤四. 远程库克隆五. 创建与合并分支1. 创建新分支2. 切换分支3. 创建并立即切换到该分支4. 合并分支 六. 处理冲突七. 分支管理策略八. bug分支九. 多人协作十. 推送分支十一. 抓取分…

【PHP入门教程】PHPStudy环境搭建+composer创建项目

文章目录 PHP 的历史PHP 的用途PHP 的特点和优势PHP 环境搭建环境准备安装window 安装CentOS / Ubuntu / Debian 安装 第一个Hello World使用Apache服务运行命令行运行代码 Composer安装 Composer&#xff1a;安装途中报错解决&#xff1a;初始化项目创建文件最终文件目录Compo…