消息队列 - mac上安装RabbitMq (转)

什么是RabbitMQ?

  RabbitMQ是由Erlang语言编写的实现了高级消息队列协议(AMQP)的开源消息代理软件(也称为面向消息的中间件)。支持WIndows、Linux、MAC OS 操作系统和包括java、.net在内的多种编程语言。

AMQP,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,分面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受 客户端/中间件 不同产品,不同的开发语言等条件的限制。

RabbitMQ中的重要概念

  Broker:经纪人。提供一种传输服务,维护一条从生产者到消费者的传输线路,保证消息数据能按照指定的方式传输。粗鲁哦的可以将图中的RabbitMQ Server当做Broker。

  Exchange:消息交换机。指定消息按照什么规则路由到哪个队列Queue。

  Queue:消息队列。消息的载体,每条消息都会被投送到一个或多个队列中。

  Binding:绑定。作用就是将Exchange和Queue按照某种路由规则绑定起来。

  RoutingKey:路由关键字。Exchange根据RoutingKey进行消息传递。

  Vhost:虚拟主机。一个Broker可以有多个虚拟主机,用作不同用户的权限分离。一个虚拟主机持有一组Exchange、Queue和Bingding。

  Producer:消息生产者。主要将消息投递到对应的Exchange上面。一般是独立的程序。

  Consumer:消息消费者。消息的接收者,一般是独立的程序。

  Channel:消息通道,也称信道。在客户端的每个连接里可以建立多个Channel,每个Channel代表一个会话任务。

RabbitMQ使用流程

  AMQP模型中,消息在producer中产生,发送到MQ的exchange上,exchange根据配置的路由方式投递到相应的Queue上,Queue又将消息发送给已经在此Queue上注册的consumer,消息从queue到consumer有push和pull两种方式。

  1.客户端连接到消息队列服务器,打开一个channel。

  2.客户端声明一个exchange,并设置相关属性。

  3.客户端声明一个queue,并设置相关属性。

  4.客户端使用routing key,在exchange和queue质检建立好binding关系。

  5.生产者客户端投递消息到exchange。

  6.exchange接收到消息后,就根据消息的RoutingKey和已经设置的binding,进行消息路由,将消息投递到一个或多个队列里。

  7.消费者客户端从对应的队列中获取并处理消息。

RabbitMQ的优缺点:

  优点:

    1.由Erlang语言开发,支持大量协议:AMQP、XMPP、SMTP、STOMP。

    2.支持消息的持久化,负载均衡和集群,且集群易扩展。

    3.具有一个Web监控界面,易于管理。

    4.安装部署简单,上手容易,功能丰富,强大的社区支持。

    5.支持消息确认机制、灵活的消息分发机制。

  缺点:

    1.由于牺牲了部分性能来换取稳定性,比如消息的持久化功能,使得RabbitMQ在大吞吐量性能方面不及Kafka和ZeroMQ。

    2.由于支持多种协议,使RabbitMq非常重量级,比较适合企业级开发。

因此,当需要一个稳定的、高可考性的、功能强大易于管理的消息队列可以选择RabbitMQ。如果对消息吞吐量需求较大,切不在乎消息偶尔丢失的情况可以使用Kafka。

安装RabbitMQ

官方地址:http://www.rabbitmq.com/install-standalone-mac.html#install-homebrew

首先 安装 homebrew

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

然后使用brew命令安装即可

brew install rabbitmq

安装目录:/usr/local/cellar/rabbitmq/3.7.5

配置命令访问路径

  • cd ~
  • vi .bash_profile(前提是存在该文件,如果不存在,可以先创建mkdir .bash_profile,之后再执行vi编辑)
  • 输入以下两行
    • export RABBIT_HOME=/Users/enniu1/Desktop/zjg/rabbitmq_server-3.6.1
    • export PATH=$PATH:$RABBIT_HOME/sbin
    • source .bash_profile

启动RabbitMQ

进入到安装目录 /usr/local/cellar/rabbitmq/3.7.5 执行

sbin/rabbitmq-server

启动插件

  启动完毕之后,另起一个终端 进入/usr/local/cellar/rabbitmq/3.7.5/sbin

./rabbitmq-plugins enable rabbitmq_management(执行一次以后不用再次执行)

登陆管理界面

http://localhost:15672/

账号密码都是guest

rabbitMQ常用命令

启动监控管理器:rabbitmq-plugins enable rabbitmq_management

关闭监控管理器:rabbitmq-plugins disable rabbitmq_management

启动rabbitmq:rabbitmq-service start

关闭rabbitmq:rabbitmq-service stop

查看所有的队列:rabbitmqctl list_queues

清除所有的队列:rabbitmqctl reset

清除具体的某个队列:rabbitmqctl purge_queue queue_name

关闭应用:rabbitmqctl stop_app

启动应用:rabbitmqctl start_app

用户和权限设置

添加用户:rabbitmqctl add_user username password

分配角色:rabbitmqctl set_user_tags username administrator

新增虚拟主机:rabbitmqctl add_vhost vhost_name

将新虚拟主机授权给新用户:rabbitmqctl set_permissions -p vhost_name username ‘.*‘ ‘.*‘ ‘.*‘

角色说明

none 最小权限角色

management 管理员角色

policymaker 决策者

monitoring 监控

administrator 超级管理员

转:https://www.cnblogs.com/baidawei/p/9168476.html

原文地址:https://www.cnblogs.com/guanbin-529/p/11774465.html

时间: 2024-08-01 22:31:07

消息队列 - mac上安装RabbitMq (转)的相关文章

傻瓜式在mac上安装rabbitmq

这种安装方式不需要自己手动下载任何东西,包括rabbitmq 一.安装Homebrew Homebrew官网:https://brew.sh/index_zh-cn.html 打开终端,输入上面的命令 ypdeMacBook-Air:~ yp$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" ==> This script will

在Centos上安装RabbitMQ流程(转)

在Centos上安装RabbitMQ流程------------------------ 1. 需求 由于项目中要用到消息队列,经过ActiveMQ与RabbitMQ的比较,最终选择了RabbbitMQ做为我们的消息系统,但是ActiveMQ在效率和可扩展性上都不错,只是网上很多人反应它会时常崩溃,而且随着消息并发数的增加,时常会出现连接很慢的情况.   目前我测试的服务器系统信息如下: LSB Version:    :core-3.1-amd64:core-3.1-ia32:core-3.1

消息队列ZeroMq的安装和调试

最近几天,开发到进程间通信,找来找去,感觉最合适的还是消息队列,下面是有关消息队列zeromq的安装调试方法. 一.ZeroMQ 介绍 引用官方的说法: "ZMQ (以下 ZeroMQ 简称 ZMQ)是一个简单好用的传输层,像框架一样的一个 socket library,他使得 Socket 编程更加简单.简洁和性能更高.是一个消息处理队列库,可在多个线程.内核和主机盒之间弹性伸缩.ZMQ 的明确目标是"成为标准网络协议栈的一部分,之后进入 Linux 内核".现在还未看到它

消息队列 - Spring Boot 对rabbitmq批量处理数据的支持

消息队列 - Spring Boot 对rabbitmq批量处理数据的支持 一丶前言 在生产中,存在一些场景,需要对数据进行批量操作.如,可以先将数据存放到redis,然后将数据进行批量写进数据库.但是使用redis,不得不面对一个数据容易丢失的问题.也可以考虑使用消息队列进行替换,在数据持久化,数据不丢失方面,消息队列确实比redis好一点,毕竟设计不一样.是不是使用消息队列,就一定好呢?不是的,首先使用消息队列,不能确保数据百分百不丢失,(如果要做到百分百不丢失,设计上就会比较复杂),除此之

mac上安装python3 和 sqlite的问题

建议mac上安装python3不要使用源码自己编译安装,而要使用 brew install python3 来安装 另外安装完之后创建需环境的话,要指定新的python环境,如下: virtualenv  -p /usr/local/Cellar/python3/3.6.2/bin/python3  --no-site-packages obpy17 Mac OSX 正确地同时安装Python 2.7 和Python3 Mac OSX 正确地同时安装Python 2.7 和Python3(这个是

Mac上安装brew

用过ubuntu系统的都知道,上面有一个命令apt-get 很方便可以快速的安装很多软件 特别lamp环境 都是一键安装. 在mac上也有类似的命令 brew brew用法可以访问官网地址  http://brew.sh/ 但是在mac上安装 brew 的命令如下 curl -LsSf http://github.com/mxcl/homebrew/tarball/master | sudo tar xvz -C /usr/local --strip 1 但是按照上面的方式安装,都没成功,也没有

mac上安装homebrew

1:关于homebrew下载地址 homebrew下载地址网上版本很多:我用了几个都是显示 404 bad request 如图:均无法现在 有一个网址会给出最新的 安装地址: the URL is:   http://brew.sh/index_zh-cn.html 在网站的最下面给出了通过terminal下载 homebrew的最新的下载地址: 我下载的最新的路径是: ruby -e "$(curl -fsSL https://raw.github.com/Homebrew/homebrew

mac上安装unrar和rar解压缩工具

问题描述: mac上默认不支持 rar压缩,但是从windows过来的很多文件,以及邮件中的附件都是通过rar的方式进行压缩的,所以考虑在mac上也能够进行解压缩rar文件 步骤: 1:首先到网站click here上下载RAR 5.10 beta 4 for Mac OS.    2:在terminal下执行执行解压缩命令:tar xvf rarosx-5.1.b4.tar进行解压 3:进入刚刚解压的rar目录中,cd downloads/rar 4:使用如下命令进行安装 mac上安装unra

在mac上安装nodejs

文章转载自我的个人博客  www.iwangzheng.com node.js最初是2009年发布的,目标是为聊实现事件驱动和非阻塞I/O的web服务器,应用的场景非常的广泛,有web服务器.实时应用.分布式应用.游戏.一些工具中,它是基于Chrome的V8引擎开发的.大家可以在github上找到开源代码: http://github.com/joyent/node. 之前用的电脑是windows系统的,现在换了mac之后需要在mac上重新安装下,let's start now ? git cl