提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档
前言
提示:这里可以添加本文要记录的大概内容: 例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、MQ是什么?
MQ(Message Quene):翻译为|消息队列,通过典型的生产者和消费者模型,生产者不断向消息队列中生产消息,消费者不断的从队列中获取消息。因为消息的生产和消费都是异步的,而且只关心消息的发送和接收,没有业务逻辑的侵入轻松的实现系统间解耦。别名为消息中间件通过利用高效可靠的消息传递机制进行平台无关的数据交流,并基于数据通信来进行分布式系统的集成。
优缺点 解耦 雪要消息的系统自己从消息队列中订阅,从而在不修改系统的情况实现更多功能 异步 将消息写入消息队列,非必要的业务逻辑以异步的方式运行,加快响应速度 削峰 使用时慢慢从队列中拉取消息,从而减少前置服务高并发导致后置服务也高并发 缺点: 可用性降低 因为增加了消息中间件导致中间件出现问题的时候会出现服务不可用,稳定性下降 缺点 系统更加复杂 比如一致性问题、如何保证消息不被重复消费,如何保证保证消息可靠传输  jms和amqp的区别 1 通信平台的区别
JMS: 只允许基于JAVA实现的消息平台的之间进行通信 AMQP: 允许多种消息协议进行通信,比如ruby的storm和java的jms都可以在AMQP上进行通信。 结论: AMQP允许多种技术同时进行协议通信
2 通信机制的区别 JMS:消息生产者和消息消费者必须知道对方的Queue AMQP: 消息生产者和消息消费者无须知道对方的Queue,消息生产者将Exchange通过Route key和任意Queue绑定。消息消费者通过Route key从任意Queue中获取Exchange.
3 消息传输机制的区别 JMS:JMS支持PTP和publis/subscribe机制,PTP只可以点对点通信,public/subscribe在一端发出请求后所有其他端收到消息 AMQP:1 所有RouteKey相同的Queue接受到数据 2 所有相同的Exchange的Queue接受到数据 3 所有wilecard的Exchange的Queue接受到数据 4 可以让webservice等接受到数据

二、使用步骤
inux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列相关知识,请参考博客:
- 更新基本系统
安装任何软件包之前,建议使用以下命令更新软件包和存储库
yum -y update 2. 安装Erlang 由于RabbitMQ是基于Erlang(面向高并发的语言)语言开发,所以在安装RabbitMQ之前,需要先安装Erlang。在本教程中我们将安装最新版本的Erlang到服务器中。 Erlang在默认的YUM存储库中不可用,因此您将需要安装EPEL存储库。 运行以下命令相同。
yum -y install epel-release
yum -y update 安装Erlang
yum -y install erlang socat 您现在可以使用以下命令检查Erlang版本。
erl -version 您将得到如下输出:
[root@liptan-pc ~]# erl -version Erlang (ASYNC_THREADS,HIPE) (BEAM) emulator version 5.10.4 2. 安装RabbitMQ RabbitMQ为预编译并可以直接安装的企业Linux系统提供RPM软件包。 唯一需要的依赖是将Erlang安装到系统中。 我们已经安装了Erlang,我们可以进一步下载RabbitMQ。 通过运行下载Erlang RPM软件包。
2.1 下载RabbitMQ 下载RabbitMQ
wget https://www.rabbitmq.com/releases/rabbitmq-server/v3.6.10/rabbitmq-server-3.6.10-1.el7.noarch.rpm 如果你没有安装wget ,可以运行yum -y install wget 。 您可以随时找到最新版本的RabbitMQ下载页面的链接。
2.2 安装RabbitMQ 通过运行导入GPG密钥:
rpm –import https://www.rabbitmq.com/rabbitmq-release-signing-key.asc 运行RPM安装RPM包:
rpm -Uvh rabbitmq-server-3.6.10-1.el7.noarch.rpm RabbitMQ现已经安装在系统上。
- 使用RabbitMQ
运行
systemctl start rabbitmq-server 开机自启
systemctl enable rabbitmq-server 检查状态
systemctl status rabbitmq-server 4. 访问Web控制台 4.1 启动web控制台 启动RabbitMQ Web管理控制台,方法是运行:
rabbitmq-plugins enable rabbitmq_management 通过运行以下命令,将RabbitMQ文件的所有权提供给RabbitMQ用户:
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/ 4.2 创建用户 现在,您将需要为RabbitMQ Web管理控制台创建管理用户。 运行以下命令相同。
rabbitmqctl add_user admin StrongPassword rabbitmqctl set_user_tags admin administrator rabbitmqctl set_permissions -p / admin “.” “.” “.*” 将管理员更改为管理员用户的首选用户名。 确保将StrongPassword更改为非常强大的密码。
|