RabbitMq 消息队列的安装、使用 、原理

本文详细介绍了RabbitMQ消息队列的安装步骤,包括erlang环境配置、RabbitMQ安装、web插件安装及启动服务。接着讲解了RabbitMQ的四种交换机类型:Direct、Topic、Fanout以及它们的工作原理。同时,文章还介绍了如何通过RabbitMQctl进行管理操作,如用户、虚拟主机、权限等管理。最后探讨了RabbitMQ的集群配置和监控,以及生产者和消费者的简单Java代码示例,帮助读者深入理解RabbitMQ的使用和原理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

               年后刚上班这几天有点清闲,有时间要赶快利用,去年我们有一个项目要将视频传到YouTube上,上传成功后YouTube有一个自动截图的功能,截取视频图片后国外的一台服务器上的程序就会调用国内的一台服务器上的接口然后将图片传过来进行更新数据,原来的实现方式就是通过HttpClient连接接口传输数据实现的,这样会有很大问题,我想大家都知道如果在数据传输的过程中国内服务器上的服务进行了从新启动那么就会造成数据丢失或者数据传输过来后服务器挂了但是数据还没有消费也是一样的,所以我们才采用了消息队列来解决这一问题,原来我只会在LINUX上安装并且简单的应用但是不懂原理,现在我想是时候深入了解了

一 Rabbit的安装

    

1、安装erlang(官网地址http://www.erlang.org )
      rabbitmq是erlang语言编写的,我们要安装erlang语言环境

    # mkdir mq  

    # cd mq/  

    # wget http://www.erlang.org/download/otp_src_R15B01.tar.gz  

    # tar -zxvf otp_src_R15B01.tar.gz  

    # cd otp_src_R15B01    

    # yum -y install make gcc gcc-c++ kernel-devel m4 ncurses-devel openssl-devel  

    # ./configure --prefix=/usr/local/erlang --enable-hipe --enable-threads --enable-smp-support --enable-kernel-poll  

    # make;make install 

   配置环境

   # vim /etc/profile 

  ERL_HOME=/usr/local/erlang

  PATH=$ERL_HOME/bin:$PATH

  export ERL_HOME PATH

  # source /etc/profile
  然后输入erl,出现erlang shell

2、安装rabbitmq
 #wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.0.1/rabbitmq-server-3.0.1.tar.gz
 #tar xzvf rabbitmq-server-3.0.1.tar.gz
 #cd rabbitmq-server-3.0.1
 #sudo make TARGET_DIR=/usr/local SBIN_DIR=/usr/local/sbin MAN_DIR=/usr/local/man install
如果报"/bin/sh: line 1: xmlto: command not found"错误,执行"yum -y install xmlto".

3、安装web插件
# mkdir /etc/rabbitmq/
# rabbitmq-plugins enable rabbitmq_management
The following plugins have been enabled:
  mochiweb
  webmachine
  rabbitmq_mochiweb
  amqp_client
  rabbitmq_management_agent
  rabbitmq_management
Plugin configuration has changed. Restart RabbitMQ for changes to take effect.

4、启动服务
# rabbitmq-server start &

5、页面验证
http://service-ip:55672

到此已经安装成功,可以进行简单的应用了

管理

Rabbitmq服务器的主要通过rabbitmqctlrabbimq-plugins两个工具来管理,以下是一些常用功能。

1. 服务器启动与关闭

      启动: rabbitmq-server detached

      关闭:rabbitmqctl stop

      若单机有多个实例,则在rabbitmqctlh后加指定名称

2. 插件管理

      开启某个插件:rabbitmq-plugins enable xxx

      关闭某个插件:rabbitmq-plugins disablexxx

      注意:重启服务器后生效。

3. virtual_host管理

      新建virtual_host: rabbitmqctl add_vhost  xxx

      撤销virtual_host:rabbitmqctl  delete_vhost xxx

4. 用户管理

      新建用户:rabbitmqctl add_user xxx pwd

      删除用户:   rabbitmqctl delete_user xxx

      改密码: rabbimqctl change_password {username} {newpassword}

      设置用户角色:rabbitmqctl set_user_tags {username} {tag ...}

      Tag可以为 administrator, monitoring, management

Tag

Capabilities

(None)

No access to the management plugin

management

Anything the user could do via AMQP plus:

List virtual hosts to which they can log in via AMQP

View all queues, exchanges and bindings in "their" virtual hosts

View and close their own channels and connections

View "global" statistics covering all their virtual hosts, including activity by other users within them

monitoring

Everything "management" can plus:

List all virtual hosts, including ones they could not log in to via AMQP

View other users's connections and channels

View node-level data such as memory use and clustering

View truly global statistics for all virtual hosts

administrator

Everything "monitoring" can plus:

Create and delete virtual hosts

View, create and delete users

View, create and delete permissions

Close other users's connections

5. 权限管理

      权限设置:set_permissions [-p vhostpath] {user} {conf} {write} {read}

               Vhostpath

               Vhost路径

               user

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值