精华内容
下载资源
问答
  • 今天自己在服务器上安装rabbitmq,之前在自己的mac上安装也没有碰到很多问题,但是这次安装在ubuntu上时出来很多莫名其妙的问题。开始的时候自己安装Erlang,到自己从官网下载tar压缩包自己解压,到后来浪费了很多...

    使用docker部署rabbitmq至服务器

    今天自己在服务器上安装rabbitmq,之前在自己的mac上安装也没有碰到很多问题,但是这次安装在ubuntu上时出来很多莫名其妙的问题。开始的时候自己安装Erlang,到自己从官网下载tar压缩包自己解压,到后来浪费了很多时间也没有搞好。最后使用了docker几分钟就安装好了,很方便。

    配置环境:

    服务器系统:Ubuntu 18.04 64位

    安装rabbitmq版本:rabbitmq:3.7.7-management

    注:rabbitmq:3.7.7-management与普通不带management的版本的区别是:带management的版本可以自带web管理界面

    安装步骤:

    1.拉取镜像

     

    docker pull rabbitmq:3.7.7-management

    运行结果如下:

    2.查看下载的镜像

    docker images

    运行结果如下:

    找到rabbitmq下载版本的image id。上图红色框选部分。

    3.启动容器

    docker run -d --name rabbitmq3.7.7 -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin “镜像id”

    注意将上述代码中的“镜像id”替代成上一步得到的镜像id。我这里上步获得的image id是2888deb59dfc。

    4.完成

    可以通过下述代码查看正在运行的容器:

    docker ps -a
    

    登陆web管理界面(地址:ip:15672)可以进入管理界面。注意需要打开15672端口。

    上述管理界面的username和password在步骤3中已经设置了,均为admin。可以在第三步中进行修改。

    展开全文
  • RabbitMQ在客户机确认消息已被处理时没有超时:请参阅this post(整个线程可能会引起兴趣)。帖子中的一些要点:The AMQP ack model for subscriptionsand "pull" are identical. In bothcases the message is kept on...

    RabbitMQ在客户机确认消息已被处理时没有超时:请参阅this post(整个线程可能会引起兴趣)。帖子中的一些要点:The AMQP ack model for subscriptions

    and "pull" are identical. In both

    cases the message is kept on the

    server but is unavailable to other

    consumers until it either has been

    ack'ed (and gets removed), nack'ed

    (with basic.reject; though RabbitMQ

    does not implement that) or the

    channel/connection is closed (at which

    point the message becomes available

    to other consumers).

    (我的重点)There is no timeout on waiting for

    acks. Usually that is not a problem

    since the common cases of a missing

    ack - network or client failure -

    will result in the connection getting

    dropped (and thus trigger the

    behaviour described above). Still,

    a timeout could be useful to, say,

    deal with alive but unresponsive

    consumers. That has come up in

    discussion before. Is there a specific

    use case you have in mind that

    requires such functionality?

    这个问题很可能发生,因为在客户机拉取模型中,服务器很难检测到断开的连接(而不是活动但无响应的消费者),特别是服务器似乎乐于永远等待ack。

    更新:在Linux上,您可以附加SIGTERM和/或SIGKILL和/或SIGINT的信号处理程序,并希望以有序的方式从客户端关闭连接。在Windows上,我相信从任务管理器关闭会调用Win32TerminateProcessAPI,MSDN对此说:If a process is terminated by

    TerminateProcess, all threads of the

    process are terminated immediately

    with no chance to run additional code.

    This means that the thread does not

    execute code in termination handler

    blocks. In addition, no attached DLLs

    are notified that the process is

    detaching.

    这意味着可能很难有秩序地终止和关闭。

    可能值得在RabbitMQ列表中使用您自己的ack超时用例。

    展开全文
  • Windows 下安装RabbitMQ服务器及基本配置(超详细配图文)Erlang 和RabbitMQ安装包:一、安装Erlang二、安装Rabbitmq:三、安装RabbitMQ-Plugins四、登录验证五、基本配置 Erlang 和RabbitMQ安装包: (自己在官网...

    Erlang 和RabbitMQ安装包:

    (自己在官网上下载很慢,简直是龟速,这里直接附上链接,没有积分下载的同学可以关注私聊我,附上联系方式我直接发给你!)
                  otp_22.3_for_windows_64.rar
                  rabbitmq-server-3.8.5_exe.zip

      RabbitMQ是一个在AMQP协议标准基础上完整的,可复用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。装RabbitMQ服务器必须首先安装 Erlang 运行环境。

    一、安装Erlang

         安装Erlang 时要注意安装的RabbityMQ 所依赖的Erlang版本,根据RabbitMQ的要求选择一个版本,这里我要安装的RabbitMQ的版本是 3.7.7 ,他依赖的Erlang版本范围是19.3.6.4 到 21.0.x ,因此我选择版本是OTP 20.2. Erlang下载地址。下载Erlang安装包后直接安装就可以了。
        下载完双击安装:
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
      设置RALAN_HOME环境变量
    步骤:此电脑–>鼠标右键“属性”–>高级系统设置–>环境变量–>“新建”系统环境变量
    变量名:ERLANG_HOME
    变量值:就是自己erlang的安装地址,点击确定。
    在这里插入图片描述

    然后双击系统变量path
    在这里插入图片描述

    PS:如果之前安装了Rrlang的其他版本,需要卸载后重新安装配置

    验证Rrlang是否安装成功

    打开CMD输入erl出现以下提示则代表安装成功

    在这里插入图片描述

    二、安装Rabbitmq:

    可以在RabbitMQ的官方网站下载最新版本的RabbitMQ服务器安装程序。
      安装步骤:
    在这里插入图片描述

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

           为了能够在任意Windows命令窗口上操控RabbitMQ服务需要在系统里加一个环境变量并且配置在系统的PHTH环境变量中。
    变量名:RABBITQM_SERVER
    变量值:C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7

    PATH添加: %RABBITQM_SERVER%\sbin

    这样就可以在windows administrator启动的CMD窗口操控RabbitMQ服务了。不需要每次都定位到:
    C:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.7\sbin>

    安装 rabbitmq_management  
      使用命令查看所有插件

    三、安装RabbitMQ-Plugins

        我们用下列命令安装rabbitmq_management插件,这款插件是可以可视化的方式查看RabbitMQ 服务器实例的状态,以及操控RabbitMQ服务器。
         (前面配置了环境变量的话可直接打开CMD运行该命令)

    rabbitmq-plugins enable rabbitmq_management
    

    运行完出现以下提示代表安装成功:

    在这里插入图片描述

    四、登录验证

       现在我们在浏览器中输入:http://localhost:15672 可以看到一个登录界面:使用默认用户guest密码guest登录即可

    五、基本配置

       管理rabbitmq_management的用户
    用命令rabbitmqctl list_users 查看一下现rabbitmq_management注册用户:

    rabbitmqctl list_users
    

    那么在命令行下创建一个用户,创建用户的命令是:

    rabbitmqctl add_user [username] [password]
    

    创建一个admin用户密码是password

    rabbitmqctl add_user admin password
    

    给用户设置tag为administrator权限

    rabbitmqctl set_user_tag admin administrator
    

          有5个tag可供选择,分别是:administrator ,monitoring,policymaker,management和none 有兴趣的同学可以到这里了解各个tag的含义,其实这里的tag代表的是权限,administrator是最高权限,none表示不能访问,这里administrator和none的组合,权限应该是向高看齐,忽略none,用的是administrator的权限。我们用admin/password 登录rabbitmq_management。

    查看:
      在这里插入图片描述

    设置虚拟主机权限:

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

    查看

    rabbitmqctl list_user_permissions admin
    

    在这里插入图片描述

    自己自学和参考下面的网址整理出来的资料,码字不易,点波关注不迷路~~

    参考:https://www.cnblogs.com/minseo/p/12886336.html

    展开全文
  • Rabbitmq

    2019-07-07 10:48:52
    1、如果有多个客户端订阅同一个队列的话,mq服务器会轮询将队列的消息发送给各个客户端,客户端收到消息后,会给服务器发通知,服务器将队列的该消息删除; 2、生产端rabbitMQ ip配置错误,启动不会报错,只有在...

    1、如果有多个客户端订阅同一个队列的话,mq服务器会轮询将队列上的消息发送给各个客户端,客户端收到消息后,会给服务器发通知,服务器将队列上的该消息删除;

    2、生产端rabbitMQ ip配置错误,启动不会报错,只有在发送消息的时候才连接服务器;消费端配置错误会报错,因为有监听所以实时在连;

    3、由于队列名称之前是持久化的,后来改成了非持久化的,导致客户端MQ没有连接;

    {"The AMQP operation was interrupted: AMQP close-reason, initiated by Peer, code=406, text=\"PRECONDITION_FAILED - parameters for queue '6007347' in vhost 'gzosce' not equivalent\", classId=50, methodId=10, cause="}

    4、目前没有 清除全部队列的方法,只能重置;

    (1)首先关闭rabbitmq: rabbitmqctl stop_app

    (2)还原: rabbitmqctl reset

    (3)启动: rabbitmqctl start_app

    (4)添加用户: rabbitmqctl add_user admin misrobot 
      (5 ) rabbitmqctl set_user_tags admin administrator

     

    5、Exchange 和Queue的绑定可以是一对多的关系   ; Routing key  和 Queue 绑定可以一对多;
    eg: Exchange: OSCEChange1 ;queue12和queue13对应的Routing key  都是 queue123;

    展开全文
  • Centos7.2部署rabbitMq

    2018-03-27 16:11:49
    一、背景 忙,硬件要找个通讯框架,看见rabbitMq这个消息队列不错,终于写...1、 服务器如果没有erlang环境,需要先安装一些配置(是erlang需要的) yum -y install make gcc gcc-c++ kernel-devel m4 ncurses...
  • 就像昨天碰到的问题描述一样,问题不是出在消费者而是在生产者发送消息出现没有得到返回值时消息通道被挂起,rabbitmq发送的消息是阻塞调用即当发生阻塞时,继续发送的消息都堆在后面。在网上看到有两个方法,有一...
  • rabbitMq杂记

    2020-06-16 21:19:11
    RabbitMQ 介绍(解耦) 消息生产者 虚拟主机: 一个虚拟主机持有一组交换机、队列和绑定。为什么需要多个虚拟主机呢?很简单, RabbitMQ 当中,...如果没有queue bind 到exchange ,会直接丢弃producer 发送过...
  • RabbitMQ配置

    2019-05-12 14:46:00
    配置文件 1、配置文件位置 rabbitmq的系统配置文件一般是rabbitmq.conf,可以登录...小弟服务器上地址:C:\Users\Administrator\AppData\Roaming\RabbitMQ 配置文件:c:/Users/ADMINI~1/AppData/Roaming/Ra...
  • 一、说明 先来说明一个概念,什么是可靠投递呢?在RabbitMQ中,一个消息从生产者发送到RabbitMQ服务器,需要经历...为了避免争议,补充说明一下,如果没有设置Mandatory参数,是不需要先路由消息才发起回调的,服务器
  • 说起来比较抽象,打个比方:A线程需要给B线程发送消息(A、B线程不一定是在同一台机器上的),A线程先把消息发送到消息队列服务器上,然后B线程去读取或是订阅消息服务器上消息队列中的消息,线程A和B之间并没有进行...
  • 1、首先确定linux上的iptables是否把相关端口禁了。service iptables stop停掉试试。 2、rabbitmq 添加远程访问功能... 这对于服务器上没有安装桌面的情况是无法管理维护的,除非通过在前面添加一层代理向外提供服...
  • prometheus rabbitmq_exporter

    2018-11-27 13:29:43
    prometheus监控服务器rabbimq服务,需要在虚拟机上安装探针服务,但是官网上没有提供rabbitmq_exproter,需要找第三方插件
  • 如果RabbitMQ服务器上有成千上万条未处理的消息,如果我们这时我们运行消费端,一瞬间就会有巨量的消息推送过来,这个时候接收者因为流量的剧增,超过了自己系统本身所能处理的最大峰值,如果没有对消息做限流措施,...
  • 公司要把项目放到阿里云上,然后使用...顺便一提阿里云上没有tidb只有mysql,幸好tidb是兼容mysql的。 参考文章: springboot+rabbitmq整合示例程 Windows下安装及配置RabbitMQ rabbitmq的安装就不说了,因为...
  • RabbitMQ是一个在AMQP协议标准基础完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台。1、安装Erlang...
  • 远程过程调用(RPC)(使用pika 0.9.5 python客户端) 在第二篇说明里,我们学习了如何在多个...在这篇说明里,我们的目标是使用RabbitMQ建立一个RPC系统:一个客户端和一个可扩展的RPC服务器。当然我们没有任何需...
  • RabbitMQ 在springboot中,无法正确操作远程服务器的问题 问题描述 如果你已经确定你的IP正确,端口号也是5672,账号没有使用默认的guest账号,但是还是没有连接远程的RabbitMQ,可能是你的springboot配置出了问题 解决...
  • 而你将在服务器上看这样的日志: missed heartbeats from client, timeout: xxs 这个间隔时间就是心跳间隔。 heartbeat通常用来检测通信的对端是否存活(未正常关闭socket连接而异常crash)。其基本原理是检测对应...
  • 6、Rabbitmq Message RPC

    2018-08-12 18:47:58
    在 第二个教程 中,我们学习了如何使用工作队列来在多个工作者之间分配耗时...在本教程中,我们将使用RabbitMQ来构建RPC系统:客户机和可伸缩RPC服务器。由于我们没有任何值得分发的耗时任务,我们将创建一个返回...
  • RabbitMQ踩坑记

    2018-11-23 11:58:00
    在测试环境下没有问题,但到生产环境后部分用户反映出现了丢消息的情况,针对这个问题我们进行了排查,发现,原本我们的系统是单机的,但用户在之前做了调整,在内外网服务器分别部署了系统...
  • 导语一节介绍了简单的工作模式,即一个队列可以被多个消费者进行消费,只有一...因为在RabbitMQ服务器中,如果不申请交换器,服务器会使用默认的交换器,所以说,交换器在发送消息的时候必不可少,今天我们学习两...
  • 概述RabbitMQ是流行的开源消息队列系统,是AMQP(Advanced Message Queuing Protocol高级消息队列协议)的标准实现,用erlang语言开发。...由于项目需要,我在云安装并配置了RabbitMQ,其中服务器操作系统是C...
  • windows下安装RabbitMQ

    2019-02-28 14:21:00
    采用 Erlang 实现的工业级的消息队列(MQ)服务器,建立在Erlang OTP平台。 1.安装Erlang 首先安装Erlang。我选择的是otp_win64_20.2,若有其他需求请到官网下载。 程序安装完成后,添加系统环境变量(若没有则...
  • 远程过程调用(RPC)(使用 pika 0.9.8 Python客户端)在第二篇教程中,我们学习了如何使用工作队列在多...在这份教程中,我们将使用RabbitMQ来构建一个RPC系统:一个客户端和一个可伸缩的RPC服务器。由于我们没有任何耗...
  • 此篇文章为 RabbitMQ服务器在标准端口(15672)的本地主机安装并运行,协议为AMQP 0·9·1 要使用RabbitMQ,要先下载erlang和RabbitMQ服务器, 在项目中导入RabbitMQ的amqp包,此篇文章用maven导入该jar包 <...
  • win10下修改rabbitmq默认端口

    万次阅读 2018-09-22 10:38:22
    并使用的是activemq消息队列,用于特殊业务的中转,现在外部系统重构后需要采用的是rabbitmq,所以Windows服务器上需要支持rabbitmq,于是下载安装,创建角色,授权,一通搞,单个启动rabbitmq没有任何问题,但是...
  • 批量删除rabbitmq的队列和交换机

    千次阅读 2020-06-29 10:44:23
    不知道大家有没有遇到过需要批量...而且它自带的批量删除必须登陆到安装rabbitmq服务器上操作才行,于是我自己用python写了一段脚本用于删除队列或者交换机。 第一步 修改rabbitmq配置 修改rabbitmq_delete.py中ra
  • Linux CentOS7部署RabbitMQ

    2019-11-20 11:42:08
    2、下载完成然后通过远程工具上传到Linux服务器的/usr/local目录 3、由于下载的包是tar.xz格式的所以需要用到xz,没有的话就先安装yum install -y xz 4、cd /usr/local 进入该目录操作解压 ...

空空如也

空空如也

1 2 3 4 5 ... 11
收藏数 213
精华内容 85
关键字:

服务器上没有rabbitmq服务