什么是RabbitMQ? RabbitMQ详解

1.什么是rabbitMQ
        RabbitMQ是一个由erlang开发的AMQP(Advanced Message Queue 高级消息队列协议 )的开源实现,
        能够实现异步消息处理
        
        RabbitMQ是一个消息代理:它接受和转发消息。
        你可以把它想象成一个邮局:当你把你想要发布的邮件放在邮箱中时,你可以确定邮差先生最终将邮件发送给你的收件人。在这个比喻中,RabbitMQ是邮政信箱,邮局和邮递员。 
        RabbitMQ和邮局的主要区别在于它不处理纸张,而是接受,存储和转发二进制数据块
        
        优点:异步消息处理
              业务解耦(下订单操作:扣减库存、生成订单、发红包、发短信),
                        将下单操作主流程:扣减库存、生成订单
                        然后通过MQ消息队列完成通知,发红包、发短信
              错峰流控 (通知量 消息量 订单量大的情况实现MQ消息队列机制,淡季情况下访问量会少)
        
              灵活的路由(Flexible Routing) 
                在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ 已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个 Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。
        
        RabbitMQ网站端口号:15672
        程序里面实现的端口为:5672
        
    2.queue队列
         Queue(队列)RabbitMQ的作用是存储消息,队列的特性是先进先出。
         生产者生产消息最终被送到RabbitMQ的内部对象Queue中去,
         而消费者则是从Queue队列中取出数据。
         
    3.消息队列
        消息(Message)是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串,也可以更复杂,可能包含嵌入对象。 
        消息队列(Message Queue)是一种应用间的通信方式,消息发送后可以立即返回,
        由消息系统来确保消息的可靠传递。消息发布者只管把消息发布到 MQ 中而不用管谁来取,消息使用者只管从 MQ 中取消息而不管是谁发布的。
        这样发布者和使用者都不用知道对方的存在。
    
    4.消息队列中间件:kafka   rabbitMQ  activeMQ   rocketMQ(可以处理分布式事务)

    5.windows下安装RabbitMQ 
            https://blog.csdn.net/qq_31634461/article/details/79377256
            https://www.cnblogs.com/ericli-ericli/p/5902270.html

   6.安装erlang平台
        http://www.erlang.org/downloads 下载64位或32 安装包

   7.配置erlang的环境变量
        ERLANG_HOME: D:\Program Files\erl10.2
        PATH: %ERLANG_HOME%\bin
        
        验证:cmd输入 erl
    
    8.安装RabbitMQ(下载地址http://www.rabbitmq.com/install-windows.html)
   
    9. 进入RabbitMQ安装目录:
        D:\Program Files\RabbitMQ Server\rabbitmq_server-3.7.9\sbin
        地址栏输入cmd执行:rabbitmq-plugins.bat enable rabbitmq_management

如出现下图,配置成功:

什么是RabbitMQ? RabbitMQ详解_第1张图片

访问网址

什么是RabbitMQ? RabbitMQ详解_第2张图片

Rabbitmq一套下载地址:

链接:https://pan.baidu.com/s/1abSs7V3PfHZtalH5_9ZAxw 
提取码:jury 
复制这段内容后打开百度网盘手机App,操作更方便哦

你可能感兴趣的:(什么是RabbitMQ? RabbitMQ详解)