`

RabbitMQ实战篇(一)--虚拟机上RabbitMQ的安装及使用

阅读更多

我们都知道,RabbitMQ 是目前非常热门的一款消息中间件,不管是互联网行业还是传统行业都在大量地使用。那么什么是消息?什么是消息中间件?这些专有名词都必须有了解。

 

一、消息中间件概述

1、消息 (Message) 是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串、JSON 等,也可以很复杂,比如内嵌对象。

2、消息中间件,全称叫消息队列中间件 (Message Queue Middleware,简称为 MQ) 是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型,它可以在分布式环境下扩展进程间的通信。

3、消息传递模式:一般有两种传递模式:点对点(P2P, Point-to-Point) 模式和发布/订阅 (Pub/Sub) 模式。

点对点模式是基于队列的,消息生产者发送消息到队列,消息消费者从队列中接收消息,队列的存在使得消息的异步传输成为可能。
发布订阅模式定义了如何向一个内容节点发布和订阅消息,这个内容节点称为主题 (topic) ,主题可以认为是消息传递的中介,消息发布者将消息发布到某个topic,而消息订阅者则从这个topic中订阅消息。主题使得消息的订阅者与消息的发布者互相保持独立,不需要进行接触即可保证消息的传递,发布/订阅模式在消息的一对多广播时采用 。 


 

4、为什么叫RabbitMQ?

RabbitMQ 是由 RabbitMQ Technologies Ltd 开发并且提供商业支持的 。 取 Rabbit 这样一个
名字,是因为兔子行动非常迅速且繁殖起来非常疯狂, RabbitMQ 的开创者认为以此命名这个分
布式软件再合适不过了 。

二、RabbitMQ的安装及使用
RabbitMQ是使用Erlang语言编写的,因此在安装RabbitMQ之前,需要安装Erlang。Erlang官网下载地址为:http://www.erlang.org/downloads/。我下载的版本是最新版本21.2。我把下载的压缩包放在了/opt/erlang目录下。


 

1、解压安装包,并配置安装目录

①使用命令:tar xvf otp_src_21.2.tar.gz将下载的压缩包解压,解压后的目录为:otp_src_21.2。


 

②在/opt/erlang/otp_src_21.2目录下,配置Erlang的安装目录,使用命令:./configure --prefix=/opt/erlang。


执行配置命令过程中,若出现No curses library functions found,则需要安装ncurses。

使用命令执行:yum install ncurses-devel ,遇到确认提示,输入y。安装ncurses完成后,重新执行配置命令。


 

2、安装Erlang

①配置命令执行完成后,执行Erlang编译安装,执行make命令。

②执行完make后,执行make install。

 

3、修改/etc/profile文件,添加环境变量。

ERLANG_HOME=/opt/erlang
export PATH=$PATH:$ERLANG_HOME/bin
export ERLANG_HOME



4、添加完成后,让文件生效,执行source /etc/profile,并使用命令erl测试erlang是否安装成功。


 

三、RabbitMQ的安装

安装完Erlang后,我们安装一下RabbitMQ。在RabbitMQ的官网:http://www.rabbitmq.com/releases/rabbitmq-server/

下载3.7.10版本。

 这里一定要注意与Erlang版本的对应关系,要不然会存在启动失败。我们下载的Erlang版本为21.2,因此使用的RabbitMQ版本为3.7.10。


 

 

 

1、我们将RabbitMQ安装在于Erlang相同的目录下/opt,把压缩包移到该目录下。

2、解压缩:执行命令,因为下载的是.xz文件,因此需要分两步进行:

xz -d rabbitmq-server-generic-unix-3.7.10.tar.xz

tar xvf rabbitmq-server-generic-unix-3.7.10.tar

 

3、为了方便记忆,将解压后的rabbitmq_server-3.7.10改名为rabbitmq,执行命令:

mv rabbitmq_server-3.6.15 rabbitmq

4、配置环境变量:在/etc/profile文件中,增加刚安装的RabbitMQ的环境变量。

export PATH=$PATH:/opt/rabbitmq/sbin
export RABBITMQ_HOME=/opt/rabbitmq

5、执行source /etc/profile,使环境变量配置生效。

 

四、测试

安装完成后,需要测试是否安装成功。

在/opt/rabbitmq/sbin目录下,我们使用以下命令:

rabbitmq-server -detached 

 此命令是以守护进程的方式在后台启动rabbitmq,警告可以忽略。

[root@localhost sbin]# rabbitmq-server -detached
Warning: PID file not written; -detached was passed.

  启动完成后,测试是否正常启动,使用命令:rabbitmqctl status,出现以下信息,说明启动成功!

 

[root@localhost sbin]# rabbitmqctl status
Status of node rabbit@localhost ...
[{pid,11229},
 {running_applications,
     [{rabbit,"RabbitMQ","3.7.10"},
      {rabbit_common,
          "Modules shared by rabbitmq-server and rabbitmq-erlang-client",
          "3.7.10"},
      {ranch,"Socket acceptor pool for TCP protocols.","1.7.1"},
      {ssl,"Erlang/OTP SSL application","9.1"},
      {public_key,"Public key infrastructure","1.6.4"},
      {asn1,"The Erlang ASN1 compiler version 5.0.8","5.0.8"},
      {mnesia,"MNESIA  CXC 138 12","4.15.5"},
      {os_mon,"CPO  CXC 138 46","2.4.7"},
      {xmerl,"XML parser","1.3.18"},
      {inets,"INETS  CXC 138 49","7.0.3"},
      {crypto,"CRYPTO","4.4"},
      {recon,"Diagnostic tools for production use","2.3.6"},
      {jsx,"a streaming, evented json parsing toolkit","2.9.0"},
      {lager,"Erlang logging framework","3.6.5"},
      {goldrush,"Erlang event stream processor","0.1.9"},
      {compiler,"ERTS  CXC 138 10","7.3"},
      {syntax_tools,"Syntax tools","2.1.6"},
      {sasl,"SASL  CXC 138 11","3.3"},

 


 

 

  • 大小: 145 KB
  • 大小: 5.5 KB
  • 大小: 35.5 KB
  • 大小: 12.1 KB
  • 大小: 3.6 KB
  • 大小: 11.6 KB
  • 大小: 45.6 KB
分享到:
评论

相关推荐

    RabbitMQ实战指南-rabbitmq-action.zip

    3. **管理插件**: `rabbitmq-management`插件提供了一个Web界面,用于监控、管理RabbitMQ实例,包括查看节点状态、创建用户、管理虚拟主机等。 **三、RabbitMQ核心概念** 1. **生产者**: 生产者是发送消息到...

    rabbitmq实战-rabbitmq-action.zip

    《RabbitMQ实战》 RabbitMQ是一种广泛使用的开源消息队列系统,它基于AMQP(Advanced Message Queuing Protocol)协议,提供可靠、灵活的消息传递服务。本实战指南将深入探讨RabbitMQ的核心概念、安装配置、使用...

    RabbitMQ实战:高效部署分布式消息队列 pdf版

    **RabbitMQ实战:高效部署分布式消息队列** 在当今的软件开发中,消息队列作为异步处理和系统解耦的重要工具,被广泛应用。RabbitMQ作为一个开源的消息代理和队列服务器,以其稳定性和易用性赢得了广大开发者的好评...

    RabbitMQ实战带目录版本

    3. **启动与停止**:安装完成后,使用命令行工具启动和停止RabbitMQ服务器,如`rabbitmq-server start`和`rabbitmq-server stop`。 4. **管理控制台**:RabbitMQ提供了一个Web管理界面,可以查看队列状态、创建和...

    RabbitMQ理论与实战-RabbitMQ.zip

    **四、RabbitMQ实战应用** 1. **任务队列**:在Web应用中,可以将耗时操作如邮件发送、图片处理等作为任务放入队列,由后台服务异步处理。 2. **微服务间通信**:在微服务架构中,服务间通过RabbitMQ进行解耦通信...

    RabbitMQ实战 高效部署分布式消息队列pdf

    **RabbitMQ实战:高效部署分布式消息队列** 在当今的IT行业中,分布式系统和微服务架构变得越来越普遍,而消息队列作为这些系统中的重要组件,承担着数据同步、异步处理、解耦和负载均衡等关键任务。RabbitMQ,作为...

    RabbitMQ实战 高效部署分布式消息队列

    通过阅读《RabbitMQ实战 高效部署分布式消息队列》这本书,开发者可以深入了解RabbitMQ的使用技巧,掌握如何在实际项目中高效地部署和管理消息队列,从而提高系统的稳定性和可靠性。结合提供的38套Java高级架构视频...

    RabbitMQ实战.高效部署分布式消息队列.rar

    综上所述,《RabbitMQ实战》这本书全面覆盖了RabbitMQ的基础知识、高级特性和实战案例,对于希望深入了解和应用消息队列技术的IT从业者来说,是一本不可或缺的参考书。通过学习和实践,你可以熟练掌握RabbitMQ的使用...

    rabbitmq3.7.8安装-cent7.3-详细文档笔记-带安装包

    在本文中,我们将深入探讨如何在CentOS 7.3操作系统上安装RabbitMQ 3.7.8,这是一个流行的开源消息代理和队列管理器,广泛用于分布式系统中的异步任务处理和通信。RabbitMQ基于AMQP(Advanced Message Queuing ...

    RabbitMQ高效部署分布式消息队列实战篇

    在实战篇中,会详细讲解RabbitMQ的安装与配置,包括在不同的操作系统上安装RabbitMQ服务器,配置管理工具如rabbitmqctl和rabbitmq-plugins,以及设置用户权限和虚拟主机等。此外,还会介绍如何使用各种编程语言(如...

    RabbitMQ.pdf

    安装及配置RabbitMQ** 安装RabbitMQ的过程涉及下载、安装和配置,具体步骤可参考相关文档。配置中,用户管理和虚拟主机(Virtual Hosts)设置是关键部分,它们允许精细控制权限和隔离不同应用的队列。 **2.2. ...

    RabbitMQ实战视频.zip

    在这个“RabbitMQ实战视频”压缩包中,你将找到一系列关于RabbitMQ的实战教程,包括视频讲解、源代码示例以及相关的文档资料,帮助你深入理解和应用这个强大的工具。 1. **消息队列基础**:了解消息队列的基本概念...

    RabbitMQ学习-实战.docx

    在本文档中,我们将深入探讨如何使用RabbitMQ构建一个高效、可扩展的搜索系统,以及如何集成Spring框架来实现这一目标。RabbitMQ是一个开源的消息代理和队列服务器,它使得应用程序之间的通信变得简单而可靠。让我们...

    淘宝RabbitMQ实验资料_的安装管理以性能优化使用方案及测试_rabbitmq_

    3. **启动与停止**:使用 `systemctl start rabbitmq-server` 启动服务,`systemctl stop rabbitmq-server` 停止服务,`systemctl status rabbitmq-server` 查看状态。 4. **管理命令行工具**:`rabbitmq-plugins` ...

    jmeter3.3工具-追加rabbitmq压测

    这说明我们将讨论的是一个实战过程,包括JMeter的配置、插件的安装、RabbitMQ连接的设置以及测试脚本的编写。 关于JMeter 3.3,这是JMeter的一个稳定版本,包含了丰富的测试元素,如线程组、采样器、监听器、断言等...

    rabbitmq面试题.pdf

    - 通过`rabbitmq-plugins enable`命令启用插件。 - 根据插件文档进行详细配置。 **58. 如何使用RabbitMQ流插件(Streams plugin)来处理大量数据?** - 利用流插件处理高吞吐量的实时数据流,提供低延迟的数据处理...

    RabbitMQ集群环境生产实例部署

    2. **安装RabbitMQ和Erlang**:使用官方提供的包管理器或者下载源代码进行编译安装。安装过程中,确保RabbitMQ的数据目录在所有节点上保持一致,以便集群共享数据。 3. **配置节点**:配置每个节点的`rabbitmq....

    rabbitmq视频

    对于Linux系统,通常使用`sudo service rabbitmq-server start`命令来启动服务。 - **配置环境**:RabbitMQ支持多种配置方式,包括通过配置文件(rabbitmq.config)、命令行参数以及环境变量来进行配置。初学者可以...

Global site tag (gtag.js) - Google Analytics