RabbitMQ快速入门 - 图像化界面的简单操作

目录

1、RabbitMQ的安装

2、RabbitMQ基本介绍

3、简单案例

4、数据隔离


1、RabbitMQ的安装

  • 官网链接:rabbitmq官网  (官网很详细,也可以在官网学习啦~)
    • 基础入门:
    • 自主学习:
    • 最新版本:
  • 安装我们是采取docker安装~
    • 安装命令:
      docker run -d --name mq \--restart=always \-e RABBITMQ_DEFAULT_USER=root \-e RABBITMQ_DEFAULT_PASS=1111 \-v ~/env/rabbitmq/lib:/var/lib/rabbitmq \-v ~/env/rabbitmq/log:/var/log/rabbitmq \-p 15672:15672 \-p 5672:5672 \rabbitmq:3.8-management
    • 命令解释:
      • docker run :创建并运行容器 ; -d:后台运行容器 ;
      • name:给容器起的名字; restart = always容器一直运行着
      • -e:是设置环境变量;第一个-e后面是设置了一个用户名root;第二个-e后面是设置了一个密码1111
      • -v:数据卷挂载;就是把rabbitmq下的目录映射到本机目录下的某个问题;
      • -p:端口映射;15672:控制台端口 - 图形化界面;5672:消息通信的端口
      • 最后一行是镜像名及版本号 (docker听不懂的可以去看我的docker专栏~)
    •  检查是否启动成功:
      • docker ps:
      • 浏览器访问:
        • 上述使用你命令中设置的用户名和密码进行登录就可以了~ 登陆成功后的页面:
    • 图形化界面解释:
      • 总览:就是大致的一些基本情况,后面遇到了在解释(其实很多字面意思大家都能理解什么意思)
      • 连接:发消息的人和收消息的人都是需要和rabbitmq建立连接的,在这里面进行连接操作
      • 通道:发消息使用的通道(例如你妈打电话叫你回家吃饭,这个手机就是一个通道)
      • 交换机、队列:文章下面会有解释
      • 管理员:就是一些用户管理相关的一些操作~

2、RabbitMQ基本介绍

 RabbitMQ的整体架构及核心概念:

  • publisher:消息发送者
  • consumer:消息的消费者
  • queue:队列、存储消息
  • exchange:交换机,负责路由消息
  • virtual-host:虚拟主机,起到数据隔离的作用

结合图来理解:

上图的解释:

  • 消息发送者不是直接把消息塞到队列中,而是先把消息发到交换机,由交换机把消息路由到队列中;
  • 由上图可以发现交换机可以只路由给一个队列,也可以路由给所有队列;
  • 消费者监听队列,就可以拿到消息了~
  • RabbitMQ的服务端(消息代理)就包括了交换机和队列两部分 ~
  • 虚拟主机怎么理解:RabbitMQ的并发量很高,就可以支持多个项目都在同一套RabbitMQ服务下,但这么多项目中的交换机和队列就可能会有冲突,为了解决这种冲突就提出了数据隔离,类似于一个数据库服务器下有多个Database,各个Database间是数据隔离的~

3、简单案例

 需求:在RabbitMQ的控制台(浏览器上的图形化界面)完成以下操作:

  •  新建队列hello.q1和hello.q2
  • 向默认的amp.fanout交换机发送一条消息
  • 查看消息是否到达hello.q1和hello.q2

步骤一:新建队列hello.q1和hello.q2

步骤二:向默认的amp.fanout交换机发送一条消息

报错了:

        报错原因:消息发送了,但是没有路由~ 回顾我们前面说的,消息发送者把消息发给交换机,交换机把消息路由到队列中,所以报错就是我们没有配置这个路由呢~

        解决:

然后我们再去发送消息,绑定了的队列就可以收到消息了,如下:

小结:

  • 交换机和队列绑定后才可以发消息,交换机不能存储消息,只能路由和转发消息

4、数据隔离

4.1、添加虚拟主机

前面提到了虚拟主机(类似于数据库中的Database),如何添加虚拟主机?操作如下:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/42005.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

缓存-缓存的使用与基本详解

1.缓存使用 为了系统性能的提升,我们一般都会将部分数据放入缓存中,加速访问。而db承担数据落盘工作。 哪些数据适合放入缓存? 即时性、数据一致性要求不高的访问量大且更新频率不高的数据(读多,写少) …

如何配置 PostgreSQL 以实现高可用性和故障转移?

文章目录 一、高可用性和故障转移的概念(一)数据复制(二)监控和检测(三)快速切换 二、实现高可用性和故障转移的技术方案(一)流复制(Streaming Replication)&…

轻松创建对象——简单工厂模式(Java实现)

1. 引言 大家好,又见面了!在上一篇文章中,我们通过Python示例介绍了简单工厂模式,今天,我们继续深入这个话题,用Java来实现简单工厂模式。 2. 什么是简单工厂模式 简单工厂模式(Simple Facto…

idea部署war包成功,但是接口404

场景 项目结构 xxx-xxx-app xxx-xxx-service xxx-xxx-webappapp/webapp依赖service,service中写了各种api,先别管它合不合理,正式环境用webapp发布。 本地配置tomcat启动,但是发现每次部署成功,但是service中的接口…

【TB作品】脉搏测量,ATMEGA8单片机,Proteus仿真,ATmega8控制脉搏测量与显示系统

硬件组成: LCD1602脉搏测量电路(带灯)蜂鸣器报警按键设置AT24C02 功能: (1)LCD1602主页显示脉搏、报警上限、报警下限; (2)五个按键:按键1:切换设…

baomidou多数据源切换注解@DS没有效果

baomidou多数据源切换注解DS没有效果 <dependency><groupId>com.baomidou</groupId><artifactId>dynamic-datasource-spring-boot-starter</artifactId><version>3.1.1</version> </dependency> ##原因 方法上有Transaction…

Docker学习笔记(二)镜像、容器、仓库相关命令操作

一、docker镜像操作 列出镜像列表 我们可以使用 docker images 来列出本地主机上的镜像。 各个选项说明: REPOSITORY&#xff1a;表示镜像的仓库源 TAG&#xff1a;镜像的标签 IMAGE ID&#xff1a;镜像ID CREATED&#xff1a;镜像创建时间 SIZE&#xff1a;镜像大小 查…

昇思25天学习打卡营第9天|静态图模式的深度剖析与应用指南

目录 背景介绍 动态图模式 静态图模式 静态图模式的使用场景 静态图模式开启方式 基于装饰器的开启方式 基于context的开启方式 静态图的语法约束 JitConfig配置选项 静态图高级编程技巧 背景介绍 AI 编译框架主要包含两种运行模式&#xff0c;即动态图模式与静态图模…

19C 单机文件系统安装文档

准备工作 1)查看系统版本、内核参数 more /etc/redhat-release more /etc/redflag-releaseuname -a2)查看当前系统是否配置了HugePages。在下面的查询中&#xff0c;HugePages的几个相关值都为0&#xff0c;表明当前未配值HugePages&#xff0c;其次可以看到该版本的大页大小为…

Java之网络面试经典题(一)

目录 ​编辑 一.Session和cookie Cookie Session 二.HTTP和HTTPS的区别 三.浅谈HTTPS为什么是安全的&#xff1f; 四.TCP和UDP 五.GET和Post的区别 六.forward 和 redirect 的区别&#xff1f; 本专栏全是博主自己收集的面试题&#xff0c;仅可参考&#xff0c;不能相…

转发服务器实验

首先先克隆一个虚拟机并完成ip地址的修改 nmcli connection modify ens160 ipv4.addresses 192.168.209.128/24 nmcli connection modify ens160 ipv4.method manual nmcli connection modify ens160 connection.autoconnect yes nmcli connection up ens160 nmcli connection…

强化学习编程实战-1-一个及其简单的强化学习实例(多臂赌博机)

1.1 多臂赌博机 一台拥有K个臂的机器&#xff0c;玩家每次可以摇动K个臂中的一个&#xff0c;摇动后&#xff0c;会吐出数量不等的金币&#xff0c;吐出金币的数量服从一定的概率分布&#xff0c;而且不同臂的概率分布不同。 多臂赌博机的问题是&#xff1a;假设玩家共有N次摇地…

WPF中Background=“{x:Null}“ 和 Transparent

WPF中关于背景透明和背景无 此时&#xff0c;我代码中是写的有有个控件&#xff0c;一个Border &#xff0c;一个TextBox &#xff0c;范围都是全屏这么大&#xff0c;可以输入TextBox 因为&#xff0c;当border没有设置背景的时候&#xff0c;实际上是&#xff1a; <Borde…

尚庭公寓——数据库设计

1. 数据的关系 一对一&#xff0c;一对多&#xff08;多对一&#xff09;&#xff0c;多对多 2. 实体关系模型 实体关系模型常用ER图&#xff08;enity relationship graph&#xff09;表示&#xff1b; 矩形表示实体&#xff08;类似Java中的对象&#xff0c;如学生就是一…

NoSQL 之 Redis 配置与常用命令

一、关系型数据库与非关系型数据库 1、数据库概述 &#xff08;1&#xff09;关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记 录。 SQL 语句&#xff08;标准数据查询语言&am…

在5G/6G应用中实现高性能放大器的建模挑战

来源&#xff1a;Modelling Challenges for Enabling High Performance Amplifiers in 5G/6G Applications {第28届“集成电路和系统的混合设计”(Mixed Design of Integrated Circuits and Systems)国际会议论文集&#xff0c;2021年6月24日至26日&#xff0c;波兰洛迪} 本文讨…

Vue中Class数据绑定

Class数据绑定 数据绑定的一个常见需求场景是操作CSS class列表&#xff0c;因为class是attribute&#xff08;属性&#xff09;&#xff0c;我们可以和其他attribute一样使用v-bind 将它们和动态的字符串绑定。但是&#xff0c;在处理比较复杂的绑定时&#xff0c;通过拼接生…

金蝶云苍穹-插件开发(一)加载数据

前言 此系列博客是进行金蝶云苍穹开发时的插件开发的教程&#xff0c;一是在明年要是还要参加软件杯金蝶A6赛题的话&#xff0c;可以看此系列教程的博客来进行复习&#xff0c;同时如果要是我实验室的学弟学妹要参加的话&#xff0c;我这个系列的博客可以给他们提供学习参考&a…

谷粒商城学习-10-docker安装mysql

文章目录 一&#xff0c;拉取MySQL镜像1&#xff0c;搜索MySQL的Docker镜像2&#xff0c;拉取MySQL镜像3&#xff0c;查看已经拉取的镜像 二&#xff0c;创建、启动MySQL容器1&#xff0c;使用docker run创建启动容器2&#xff0c;使用docker ps查看运行状态的容器3&#xff0c…

SpringBoot新手快速入门系列教程:基于JPA的一个Mysql简单读写例子

现在我们来做一个简单的读写Mysql的项目 1&#xff0c;先新建一个项目&#xff0c;我们叫它“HelloJPA”并且添加依赖 2&#xff0c;引入以下依赖&#xff1a; Spring Boot DevTools (可选&#xff0c;但推荐&#xff0c;用于开发时热部署)Lombok&#xff08;可选&#xff0c…