• RabbitMQ学习01基本概念


    MQ全程Message Queue,是在消息传输过程中保存消息的容器,多用于分布式系统之间进行通信。

    1、MQ的优势:

    1.应用解耦:系统耦合度越高,容错性就越低,可用性就越低。使用MQ将系统进行隔离,可以提高系统的容错性。

    2.异步提速:在用户进行操作后,将信息发送到MQ后就返回。后续的业务流程通过MQ异步进行处理。可以提高用户体验和系统吞吐量。

    3.削峰填谷:当大量消息集中进入系统时,可以用MQ将信息暂存起来,系统从MQ中取出积压消息有序处理,避免系统崩溃。

    2、MQ的劣势:

    1.系统可用性降低:系统引入的外部依赖越多,系统稳定性越差。一旦MQ宕机,就会对业务造成影响,需要提高MQ的可用性。

    2.系统复杂度提高:需要额外考虑消息是否被重复消费(幂等性问题),消息丢失,消息的顺序等问题。

    3.一致性问题:如果A系统通过MQ向多个系统其他系统发送消息,有的系统正常接受,有的系统没有接受,造成数据不一致。

    3、使用MQ需要满足的条件:

    1.生产者不需要从消费者处获得反馈。

    2.允许短暂的不一致性。

    3.收益大于成本。

    4、常见的MQ产品:

     5、RabbitMQ简介

    RabbitMQ使用Erlang语言开发,采用AMQP(高级消息队列)协议,AMQP是一个应用层协议。

     

     

    RabbitMQ的6种工作模式:

    1.简单模式(Hello World)

    2.工作队列模式(Work Queue)

    3.发布订阅模式(Publish/Subscribe)

    4.路由模式(Routing)

    5.主题模式(Topics)

    6.RPC远程过程调用

    7.发布确认模式(Publisher Confirms)

    6、JMS介绍

    JMS即Java消息服务(JavaMessage Service)应用程序接口,是一个Java平台中关于面向消息中间件的API。

    JMS是JavaEE的一种规范。RabbitMQ本身没有实现JMS,但在开源社区有实现。

  • 相关阅读:
    转载 linux 僵尸进程,讲的很透彻
    linux 程序自动运行总结
    使用__FILE__和__LINE__定位错误
    CURL简单使用
    阿里云域名绑定IP
    使用PHPEXCEL导入数据到数据库
    关于使用ueditor时候遇到的情况
    TP5使用PHPMAILER发送邮件
    使用ajax,结合jquery,php实现图片上传预览功能
    mysql关于数据量大的时候分页分批处理
  • 原文地址:https://www.cnblogs.com/asenyang/p/15497437.html
Copyright © 2020-2023  润新知