当前位置:   article > 正文

Linux: RabbitMQ 简介及环境搭建_linux rabbitmq 目录

linux rabbitmq 目录

MQ简介


        消息队列( Message queue )是一种进程间通信或同一进程的不同线程间的通信方式。软件的贮列用来处理一系列的输入,通常是来自用户。

        消息队列提供了异步的通信协议,每一个贮列中的纪录包含详细说明的数据,包含发生的时间,输入设备的种类,以及特定的输入参数,也就是说:消息的发送者和接收者不需要同时与消息队列互交。消息会保存在队列中,直到接收者取回它。

特点


        MQ是消费者-生产者模型的一个典型的代表,一端往消息队列中不断写入消息,而另一端则可以读取或者订阅队列中的消息。MQJMS类似,但不同的是JMSSUN JAVA消息中间件服务的一个标准和API定义,而MQ则是遵循了AMQP协议的具体实现和产品。

注意

        1. AMQP ,即Advanced Message Queuing Protocol,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制。

        2. JMS Java消息服务(Java Message Service)应用程序接口,是一个Java平台中关于面向消息中间件的API,用于在两个应用程序之间,或分布式系统中发送消息,进行异步通信。 Java消息服务是一个与具体平台无关的API,绝大多数MOM提供商都对JMS提供支持。常见的消息队列,大部分都实现了JMS API,如ActiveMQ Redis 以及 RabbitMQ 等。

优缺点


优点

        应用耦合、异步处理、流量削峰

缺点

        系统可用性降低、系统复杂度增加

使用场景


        消息队列,是分布式系统中重要的组件,其通用的使用场景可以简单地描述为:

        当不需要立即获得结果,但是并发量又需要进行控制的时候,差不多就是需要使用消息队列的时候。

        在项目中,将一些无序及时返回且耗时的操作提取出来,进行了异步处理,而这种异步处理的方式大大的节省了服务器的请求响应时间,从而提高了系统的吞吐量。

为什么使用RabbitMQ


        AMQP,即Advanced Message Queuing Protocol高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。

        AMQP主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。

        RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如: Python Ruby .NET Java JMS C PHP ActionScript XMPP STOMP 等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

总结如下:

  • 基于AMQP协议
  • 高并发 ( 是一个容量的概念,服务器可以接受的最大任务数量 )
  • 高性能 ( 是一个速度的概念,单位时间内服务器可以处理的任务数 )
  • 高可用 ( 是一个持久的概念,单位时间内服务器可以正常工作的时间比例 )
  • 强大的社区支持,以及很多公司都在使用
  • 支持插件
  • 支持多语言

安装


1. 安装Erlang

        官网提示:https://www.erlang-solutions.com/resources/download.html

        RabbitMQ是一个开源的AMQP 实现,服务器端用 Erlang 语言编写。
        
(1)安装erlang

yum -y install esl-erlang_23.0.2-1_centos_7_amd64.rpm

(2)检测erlang

2. 安装RabbitMQ

(1)文件下载

 官网下载地址:http://www.rabbitmq.com/download.html

(2)安装rabbitmq

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

 (3)安装UI插件

rabbitmq-plugins enable rabbitmq_management

(4)启动rabbitmq服务

systemctl start rabbitmq-server.service

(5)检测服务

systemctl status rabbitmq-server.service

 (6)释放端口或关闭防火墙

1 . 修改防火墙,添加规则

-A INPUT -p tcp -m state --state NEW -m tcp --dport 15672 -j ACCEPT

-A INPUT -p tcp -m state --state NEW -m tcp --dport 5672 -j ACCEPT

 重启防火墙

systemctl restart iptables.service

2.  关闭防火墙 

systemctl stop firewalld.service      # 关闭防火墙

(7)访问

        guest用户默认只可以localhost(本机)访问

(8)修改配置文件

1. 在rabbitmq的配置文件目录下(默认为:/etc/rabbitmq)创建一个rabbitmq.config文件。

2. 文件中添加如下配置(请不要忘记那个.):

[{rabbit, [{loopback_users, []}]}].

3. 重启rabbitmq服务

systemctl restart rabbitmq-server.service

4. 重新访问

到底了。。。。。 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/457104
推荐阅读
相关标签
  

闽ICP备14008679号