RabbitMQ之入门概述及安装解读

简介: RabbitMQ之入门概述及安装解读

基本介绍

概述

RabbitMQ是一个广泛使用的消息服务器,采用Erlang语言编写,是一种开源的实现 AMQP(高级消息队列协议)的消息中间件

  • RabbitMQ 拥有数万名用户,是最受欢迎的开源消息代理之一。从T-Mobile 到Runtastic,RabbitMQ 在全球范围内的小型初创公司和大型企业中得到使用。
  • RabbitMQ 是轻量级的,易于在本地和云中部署。它支持多种消息传递协议和流媒体。 RabbitMQ 可以部署在分布式和联合配置中,以满足高规模、高可用性的需求。
  • RabbitMQ 运行在许多操作系统和云环境上,并为大多数流行语言提供了广泛的开发人员工具。

RabbitMQ最初起源于金融系统,它的性能及稳定性都非常出色;

AMQP协议(http://www.amqp.org),即 Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。

学习网址

官网:RabbitMQ: easy to use, flexible messaging and streaming — RabbitMQ

Github:https://github.com/rabbitmq

消息中间件

简单来说,消息中间件就是指保存数据的一个容器(服务器),可以用于两个系统之间的数据传递。消息中间件一般有三个主要角色:生产者、消费者、消息代理(消息队列、消息服务器);

MQ=Message Queue

生产者发送消息到消息服务器,然后消费者从消息代理(消息队列)中获取数据并进行处理;

应用场景

应用解耦(异步)

下订单---向MQ 发消息--》积分系统,手机短信系统接收消息

同步是阻塞的(会造成等待),异步是非阻塞的(不会等待);

大流量高并发请求、批量数据传递,就可以采用异步处理,提升系统吞吐量;

系统解耦

多个系统之间,不需要直接交互,通过消息进行业务流转;

流量削峰

MQ 数据是只有一条数据在使用中。 在很多存在并发,而又对数据一致性要求高,而且对性能要求也高的场景,如何保证,那么MQ就能起这个作用了。不管多少流量进来,MQ都会让你遵守规则,排除处理,不会因为其他原因,导致并发的问题,而出现很多意想不到脏数据。

基于Docker的快速安装

使用docker查询rabbitmq的镜像

docker search rabbitmq

安装name为rabbitmq的这里是直接安装最新的,如果需要安装其他版本在rabbitmq后面跟上版本号即可

docker pull rabbitmq

启动mq

docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5673:5672 rabbitmq

需要注意的是-p 5673:5672 解释:-p 外网端口:Docker的内部端口 ,你们可以改成自己的外网端口号,我这里映射的外网端口是5673那么程序连接端口就是用5673

通过docker ps -a 查看部署的mq容器id,在通过 docker exec -it 容器id /bin/bash 进入容器内部在 运行:rabbitmq-plugins enable rabbitmq_management

命令执行完毕后,web管理界面就启用了,打开浏览器输入地址http://ip:15672/

默认用户名和密码都是guest

常见使用命令

rabbitmqctl  是一个管理命令,可以管理rabbitmq的很多操作。

用户管理包括增加用户,删除用户,查看用户列表,修改用户密码。

这些操作都是通过rabbitmqctl管理命令来实现完成。

查看帮助:

rabbitmqctl add_user --help

相应的命令

查看当前用户列表

rabbitmqctl list_users

新增一个用户

语法:rabbitmqctl add_user Username  Password

示例: rabbitmqctl add_user admin 123456

设置用户角色

rabbitmqctl set_user_tags  User  Tag

示例:rabbitmqctl set_user_tags  admin administrator

说明:此处设置用户的角色为管理员角色

设置用户权限

rabbitmqctl set_permissions -p / admin ".*" ".*" ".*"

说明:此操作是设置admin用户拥有操作虚拟主机/下的所有权限

查看用户权限

./rabbitmqctl list_permissions

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
3月前
|
消息中间件 Linux API
centos7 安装rabbitmq自定义版本及配置
centos7 安装rabbitmq自定义版本及配置
|
1月前
|
消息中间件 数据安全/隐私保护 Docker
Docker安装rabbitmq
如何使用Docker安装和配置RabbitMQ服务,包括拉取RabbitMQ镜像、创建容器、配置持久化和访问管理界面的步骤。
91 0
Docker安装rabbitmq
|
2月前
|
NoSQL 关系型数据库 Redis
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
mall在linux环境下的部署(基于Docker容器),docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongodb、minio详细教程,拉取镜像、运行容器
mall在linux环境下的部署(基于Docker容器),Docker安装mysql、redis、nginx、rabbitmq、elasticsearch、logstash、kibana、mongo
|
2月前
|
消息中间件 Linux
centos7安装rabbitmq
centos7安装rabbitmq
|
1月前
|
消息中间件 Java Kafka
RabbitMQ 入门
RabbitMQ 入门
|
3月前
|
消息中间件 Docker 容器
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】
这篇文章提供了RabbitMQ的安装和基本使用教程,包括如何使用Docker拉取RabbitMQ镜像、创建容器、通过浏览器访问管理界面,以及如何创建交换机、队列、绑定和使用direct、fanout和topic三种类型的交换器进行消息发布和接收的测试。
消息中间件RabbitMQ---Docker安装RabbitMQ、以及RabbitMQ的基本使用【二】
|
2月前
|
消息中间件 Linux
linux之centos安装rabbitmq
linux之centos安装rabbitmq
|
3月前
|
消息中间件 存储 Java
分享一下rocketmq入门小知识
分享一下rocketmq入门小知识
51 0
分享一下rocketmq入门小知识
|
3月前
|
存储 Ubuntu 安全
在Ubuntu 16.04上安装和保护Mosquitto MQTT消息代理的方法
在Ubuntu 16.04上安装和保护Mosquitto MQTT消息代理的方法
100 1
|
3月前
|
消息中间件 Ubuntu 安全
如何安装和管理RabbitMQ
如何安装和管理RabbitMQ
51 0