MQ引言

什么是MQ

MQ:message Queue翻译为消息队列,通过典型的生产者和消费者模型不断向消息队列中生产消息,消费者不断从队列中获取消息。因为消息的生产和消费都是一部的,而且只关心消息的发送和接收,没有业务逻辑的侵入,轻松的实现了 系统之间的解耦。别名是消息中间件,通过利用高效的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。

MQ有哪些种类

当今市场上有很多主流的消息中间件,如ActiveMQRabbitMQ,比较火的Kafka,阿里巴巴开发的RocketMQ等。

MQ 之间的对比

ActiveMQ
ActiveMQ是Apache触屏的,能力枪金的开源消息总线,它是一个完全支持JMS规范的消息中间件,丰富的API,多种集群架构模式让ActiveMQ在业界成为老牌的MQ。
Kafka
Kafka是LinkedIn开源的分布式消息订阅系统,目前归属Apache顶级开源项目Kafka主要特点是基于Pull的模式来处理消息消费,追求高吞吐量,一开始的摸底就是 用于日志的收集和传输,适合于大数据的互联网的数据收集业务。
RocketMQ
RocketMQ是阿里巴巴开源的消息中间件,他是存Java开发,具有高吞吐量,高可用,适合大规模分布式系统应用的特点,RocketMQ思路起源于Kafka,但并不是Kafka的复制,他对消息的可靠村塾以及事务做了优化,目前在阿里集团被广泛使用。

RabbitMQ
RabbitMQ是使用Erlang语言开发的开源消息队列的系统,基于AMQP的主要特征是面向消息。队列,路由。可靠性。安全。AMQP协议更多用在企业系统内对数据的一致性、稳定性和可靠性要求很高的场景,对性能吞吐量的要求还在其次。

AMQP协议

AMQP协议(adviance queuing protocol)在2003年提出的,最早用于解决金融领域不同平台之间的消息传递问题,顾名思义AMQP是一种协议,更准确的说是一种链路协议,它补充API层进行限定,而是直接定义网络交换的数据格式。这使得实现了AMQP的provider天然性就是跨平台的,一下是AMQP协议类型

官网: https://www.rabbitmq.com/
官方教程: https://www.rabbitmq.com/#getstarted

在Centos7下安装RabbitMQ

因为RabbitMQ是由Erlang语言开发的所以需要安装Erlang的开发环境,再安装RabbitMQ
1、首先下载所需要的安装包
https://wws.lanzous.com/b01hipv8b
密码:4eqm

2、通过Xftp连接到Centos


3、上传安装包到Centos

4、安装Erlang、RabbitMQ
rpm -ivh erlang-22.0.7-1.el7.x86_64.rpm


yum install -y rabbitmq-server-3.7.18-1.el7.noarch.rpm

默认安装完成后配置文件模板在:
/usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example
要复制一份到自己设置的路径下,这里是事先创建好的 /usr/local/rabbitmq


cp /usr/share/doc/rabbitmq-server-3.7.18/rabbitmq.config.example /usr/local/rabbitmq/
cd /usr/local/rabbitmq
mv rabbitmq.config.example rabbitmq.config

5、修改配置文件
vim rabbitmq.config

然后保存退出
6、启动rabbitmq插件管理
rabbitmq-plugins enable rabbitmq_management


7、启动RabbitMQ

systemctl start rabbitmq-server # 启动rabbitmq服务
systemctl restart rabbitmq-server # 重启服务
systemctl stop rabbitmq-server # 停止服务


8、是否启动成功
systemctl status rabbitmq-server
9、访问web管理界面
输入你的 ip:15672
进入如下界面
用户名是:guest
密码也是:guest

然后就进入了首页

最后聊一下中间遇到的问题以及是如何解决的?

注意:
Job for rabbitmq-server.service failed because the control process exited with error code. See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

刚开始启动的时候出现了这个错误,当然没启动成功,然后输入
journalctl -xe查看日志信息如下:

主要看error那句;解决方法,修改/etc/hosts文件加上 host后面的域名,设置对应的ip地址。

然后再启动就没错了,如果日志显示的是
Error: This RabbitMQ version cannot run on Erlang 19.0.4 (erts 8.0.3): minimum required version is 19.3 (erts 8.3)那就代表是版本问题,表示Erlang和RabbitMQ版本不兼容去换版本吧!

Erlang与RabbitMQ版本对照表

Centos7安装RabbitMQ详细教程的更多相关文章

  1. Centos7安装Typecho详细教程

    Centos7安装Typecho详细教程   首先搭建LAMPH环境 L linux 服务器(centos或者ubunt) .A Apache .M mysql .P PHP 安装Apache.PHP ...

  2. linux 安装rabbitMQ详细教程

    经过第一次的安装失败, 第二次总算是成功了, 这里总结一下. 第一步:下载版本对应的rpm安装包 1. 下载Erlang安装包:RabbitMQ是Erlang语言编写,所以Erang环境必须要有,注: ...

  3. centos7安装wordpress详细教程

    安装之前:建议安装各种软件 [root@localhost ~]# yum -y install wget zip unzip net-tools 一.安装apache 测试环境建议关闭防火墙和SEL ...

  4. Centos7 安装python3详细教程,解决升级后不兼容问题

    一.确认当前python版本 [root@centos Python-3.6.1]# python Python 2.7.5 (default, Nov 6 2016, 00:28:07) [GCC ...

  5. centos7安装puppet详细教程(简单易懂,小白也可以看懂的教程)

    简介: Puppet是一种linux.unix平台的集中配置管理系统,使用ruby语言,可配置文件.用户.cron任务.软件包.系统服务等.Puppet把这些系统实体称之为资源,它的设计目标是简化对这 ...

  6. 在linux下安装配置rabbitMQ详细教程

    在linux下安装配置rabbitMQ详细教程 2017年12月20日 17:34:47 阅读数:7539 安装Erlang 由于RabbitMQ依赖Erlang, 所以需要先安装Erlang. Er ...

  7. 安装WordPress详细教程指南

    最近准备自己建一个个人博客,以便分享一些自己工作生活中的一些观点及经验,建博客当然选wordpress,毕竟wordpress是为博客而生的嘛.下边记录一下自己安装WordPress的详细过程指南,亦 ...

  8. Ubuntu下安装JDK详细教程

    Ubuntu下安装JDK详细教程 作者:凯鲁嘎吉 - 博客园http://www.cnblogs.com/kailugaji/ Ubuntu版本:Ubuntu-12.04.5-desktop-i386 ...

  9. Windows下安装MySQL详细教程

    Windows下安装MySQL详细教程 1.安装包下载  2.安装教程 (1)配置环境变量 (2)生成data文件 (3)安装MySQL (4)启动服务 (5)登录MySQL (6)查询用户密码 (7 ...

随机推荐

  1. RocketMQ(六):nameserver队列存储定位解析

    在rocketmq中,nameserver充当了一个配置管理者的角色,看起来好似不太重要.然而它是一个不或缺的角色,没有了它的存在,各个broker就是一盘散沙,各自为战. 所以,实际上,在rocke ...

  2. Hadoop框架:Yarn基本结构和运行原理

    本文源码:GitHub·点这里 || GitEE·点这里 一.Yarn基本结构 Hadoop三大核心组件:分布式文件系统HDFS.分布式计算框架MapReduce,分布式集群资源调度框架Yarn.Ya ...

  3. Java基础数据类型详解

    在Java中的数据类型一共有8种,大致分为整型(4个)浮点型(2个)布尔(1)字符(1个) 分类 类型 默认值 占用字节 范围 整型 byte 0 1 = 8 bit -2^7 - 2^7 short ...

  4. 双向数据绑定 v-model

    双向数据绑定 就是既可以从页面传到数据也可以从数据到页面 初始运行结果为: 在输入框 更改数据 相应的输入框上的也会相对改变 然后再试试利用控制台更改数据 可以看到数据也被改变了 而且输入框中的内容也 ...

  5. js上 九.多分支语句

    9-3.if...else if ...else语句 多分支的if语句,多选一. 格式:

  6. 工具-效率工具-XMIND8破解(99.1.3)

    @ 目录 1.下载 2.修改hosts文件 3.修改配置文件 4.填入序列号 5.破解完成 关于作者 1.下载 1.点击进入官方网站下载 2.下载破解包 网址:点击进入网盘地址 密码:domd 2.修 ...

  7. C#中RDLC合并两个列的值

    使用 & 符号连接 =Fields!ID.Value & Fields!Name.Value

  8. Prometheus从入门到精通:一、部署

    一.Prometheus是什么? prometheus是一个开源指标监控解决方案,指标就是指的CPU的使用率.内存使用率等数据. 二.Prometheus的架构 这里直接粘贴官网的架构图: 三.安装 ...

  9. Angular实战之使用NG-ZORRO创建一个企业级中后台框架(进阶篇)

    前言: 上一篇文章我们讲了如何在创建的Angular项目中快速引入ng-zorro-antd企业中台组件库,并且快速构建后台管理页面框架模板.这一章主要介绍的是如何在创建好的后台管理页面框架的快速生成 ...

  10. Java学习_注解

    使用注解 注解是放在Java源码的类.方法.字段.参数前的一种特殊"注释". 1 // this is a component: 2 @Resource("hello&q ...