引言:

对于一个大型的软件系统来说,会有很多的组件、模块及不同的子系统一起协同工作,模块之间的通信需要一个可靠的通信管道来保证

,通信管道需要解决解决很多问题,比如:

1)信息的发送者和接收者如何维持这个连接,如果一方的连接中断,这期间的数据如何方式丢失?

2)如何降低发送者和接收者的耦合度?

3)如何让Priority高的接收者先接到数据?

4)如何做到load balance?有效均衡接收者的负载?

5)如何有效的将数据发送到相关的接收者?也就是说将接收者subscribe 不同的数据,如何做有效的filter。

6)如何做到可扩展,甚至将这个通信模块发到cluster上?

7)如何保证接收者接收到了完整,正确的数据?

AMDQ协议解决了以上的问题,而RabbitMQ实现了AMQP,关于rabbitmq的介绍可以看其官方文档介绍!

安装指南:

rabbitmq是建立在Erlang OTP平台上,所以需要先安装Erlang OTP平台,

windows下安装方法如下

1)去官网上下载Erlang运行时,选择合适的版本,一般最新的rabbitmq是基于最新的Erlang OTP, 全部点击下一步即可

,安装完成后可能需要配置系统环境变量,与jdk以及nodejs运行环境类似

2.下载运行RabbitMQ,需要其他版本或者32位系统的,可以去官网下载,全部点击下一步即可,安装完成会新增一个windows服务,

默认安装的RabitMQ监听的是5672端口;

linux下安装稍微复杂点以CentOS 7.3为例:

1)安装Erlang OTP,可以下载最新的Erlang最新的rpm包,然后调用rmp命令安装特定的版本,也可以调用CentOS的yum高级命令安装,

yum install erlang

2)安装RabbitMQ,去rabbitmq官网上获取指定版本的rpm

 wget https://dl.bintray.com/rabbitmq/rabbitmq-server-rpm/rabbitmq-server-3.6.12-1.el7.noarch.rpm
yum install rabbitmq-server-3.6.-.el7.noarch.rpm

3)启动rabbitmq的服务并查看服务状态

service rabbitmq-server start
service rabbitmq-server status

4.rabbitmq的插件较丰富,可以安装rabbitmq的web管理插件

rabbitmq-plugins enable rabbitmq_management

  备注:公网访问你可能需要开启防火墙,RabbitMQ默认监听的是5672端口,web管理插件为15672端口

,centos使用的是firewall防火墙,开启方法如下

firewall-cmd --add-port=15672/tcp --permanent
firewall-cmd --add-port=5672/tcp --permanent

  至此rabbitmq环境搭建完成 ,你可以调用rabbitmqctl --h查看其他相关命令,如添加用户等,也可以访问他的web插件进行相关配置

rabbitmq实践笔记(一):安装、配置与使用初探的更多相关文章

  1. 从零开始针对 .NET 应用的 DevOps 运营实践 - Jenkins & SonarQube 安装配置

    一.Overview 继续 DevOps 实施的相关内容,在上一篇的博客中,完成了对于工具链中使用到的软件所需的运行环境的配置,在这一篇的博客中,将聚焦于我们使用到的两个主要的软件:Jenkins 与 ...

  2. 图形化Cisco设备管理实践(附安装配置视频)

    图形化Cisco设备管理实践 Ciscoworks 2000是Cisco公司推出的基于SNMP协议的网络管理系统,通过它网络管理人员可以方便快捷地完成设备的配置.管理.监控和故障分析等任务, Cisc ...

  3. Node.js 学习笔记 (一) 安装配置

    Node.js 安装配置 本安装教程以Node.js v4.4.3 LTS(长期支持版本)版本为例 Window 上安装Node.js 你可以采用以下两种方式来安装. 1.Windows 安装包(.m ...

  4. Docker 尝试安装rabbitmq实践笔记

    docker pull rabbitmq 自定義的rabbitmq Dockerfile # base image FROM rabbitmq:3.7-management # running req ...

  5. rabbitmq学习笔记1 安装和配置

    环境 OS: CentOS Linux release 7.1.1503 (Core) kernel:3.10.0-229.el7.x86_64   安装 参考:http://www.rabbitmq ...

  6. .NET之RabbitMQ学习笔记(二)-安装

    安装 1.安装erlang语言环境 因为rabbitmq是基于erlang进行开发,所以需要安装相应的依赖环境,学习中用到的erlang包下载地址:http://www.erlang.org/down ...

  7. Hadoop学习笔记: 安装配置Hive

    1. 在官网http://hive.apache.org/下载所需要版本的Hive,以下我们就以hive 2.1.0版为例. 2. 将下载好的压缩包放到指定文件夹解压,tar -zxvf apache ...

  8. Hadoop学习笔记: 安装配置Hadoop

    安装前的一些环境配置: 1. 给用户添加sudo权限,输入su - 进入root账号,然后输入visudo,进入编辑模式,找到这一行:"root ALL=(ALL) ALL"在下面 ...

  9. [Freescale]E9学习笔记-LTIB安装配置

    转自:http://blog.csdn.net/girlkoo/article/details/44535979 LTIB: Linux Target Image Builder Freescale提 ...

随机推荐

  1. Django学习系列之request对象

    先来一个简单的实例 urls.py from django.conf.urls import url from django.contrib import admin from cmdb import ...

  2. [React] PureComponent in React

    In this lesson, you will learn how to use PureComponent in React to reduce the number of times your ...

  3. Win7 本地打印后台处理程序服务没有运 怎么办

    找到名为Print Spooler的服务,启动类型改为自动,服务状态改为启动即可.

  4. UML视频总结

    "RUP 4+1"视图 学习UML我们就必须先了解这"RUP 4+1"视图,它是架构设计的结构标准,例如以下图所看到的. watermark/2/text/aH ...

  5. Linux Shell_test

    test: 测试Shell脚本里的条件,通过推出状态返回其结果.用法:    test [ expression ] 或 [ [ expression ] ]    注意空格test表达式:是则为真  ...

  6. 怎么将本地文件上传到远程git仓库

    1.(先进入项目文件夹)通过命令 git init 把这个目录变成git可以管理的仓库git init 2.把文件添加到版本库中,使用命令 git add .添加到暂存区里面去,不要忘记后面的小数点“ ...

  7. 【bzoj2753】[SCOI2012]滑雪与时间胶囊

    #include<algorithm> #include<iostream> #include<cstdlib> #include<cstring> # ...

  8. busybox相关的工具

    1 mdev busybox里面的类似于udev的工具,学名micro udev. mdev -s扫描/sys目录,如果是设备的话,就会为之在/dev目录下创建设备结点. 2 busybox执行不同的 ...

  9. bzoj2461: [BeiJing2011]符环

    再做水题就没救了 考虑DP...我们把正反面一起弄 fi,j,k,u表示第几个位置,正面多了多少左括号,背面多了多少没办法消的右括号,背面结尾的左括号数 #include<cstdio> ...

  10. YTU 1012: A MST Problem

    1012: A MST Problem 时间限制: 1 Sec  内存限制: 32 MB 提交: 7  解决: 4 题目描述 It is just a mining spanning tree ( 最 ...