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. AtCoder Regular Contest 107(VP)

    Contest Link Official Editorial 比赛体验良好,网站全程没有挂.题面简洁好评,题目质量好评.对于我这个蒟蒻来说非常合适的一套题目. A. Simple Math Prob ...

  2. 协程gevent学习

    import gevent def f1(): print(11) gevent.sleep(2) print(33) def f2(): print(22) gevent.sleep(1) prin ...

  3. 精尽Spring MVC源码分析 - 寻找遗失的 web.xml

    该系列文档是本人在学习 Spring MVC 的源码过程中总结下来的,可能对读者不太友好,请结合我的源码注释 Spring MVC 源码分析 GitHub 地址 进行阅读 Spring 版本:5.2. ...

  4. 数据结构,哈希表hash设计实验

    数据结构实验,hash表 采用链地址法处理hash冲突 代码全部自己写,转载请留本文连接, 附上代码 #include<stdlib.h> #include<stdio.h> ...

  5. jmeter跨线程使用token

    项目的接口测试,今早所有接口都不通了,查看原因是登录接口地址变了..... 原来的方式是每个线程中都写了登陆接口来获取token,但是因为登陆接口地址改变的原因,要改好多个登陆接口,所以就想把toke ...

  6. Vue 组件化开发的思想体现

    现实中的组件化思想化思想体现 标准(同一的标准) 分治(多人同时开发) 重用(重复利用) 组合(可以组合使用) 编程中的组件化思想 组件化规范:Web Components 我们希望尽可能多的重用代码 ...

  7. OkHttpClient调优案例

    OkHttpClient调优案例 作者:Grey 原文地址: 语雀 博客园 Github 实际案例 系统运行一段时间后,线程数量飙升,CPU持续居高不下 排查工具 https://fastthread ...

  8. vue第二单元(webpack的配置-学习webpack的常用配置)

    第二单元(webpack的配置-学习webpack的常用配置) #课程目标 掌握webpack的常用配置 掌握如何根据实际的需求修改webpack的对应配置 了解webpack-dev-server的 ...

  9. [日常摸鱼]poj2420 A Star not a Tree?

    题意:给定$n$个点,找一个点使得这个点到所有点的距离之和最小,求出这个最小距离 传说中的模拟退火- #include<cstdio> #include<ctime> #inc ...

  10. Python读写EXCEL文件常用方法大全

    前言 python读写excel的方式有很多,不同的模块在读写的讲法上稍有区别,这里我主要介绍几个常用的方式. 用xlrd和xlwt进行excel读写: 用openpyxl进行excel读写: 用pa ...