zoukankan      html  css  js  c++  java
  • 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,但在开源社区有实现。

  • 相关阅读:
    bzoj 1210 [HNOI2004] 邮递员 插头dp
    与非 乱搞233
    USACO JAN14 奶牛冰壶运动 凸包+判定
    bzoj 2829 计算几何
    R
    bzoj 1592 dp
    [Usaco2007 Open]Fliptile 翻格子游戏 状压dp
    拯救莫莉斯 状压dp
    大暑假集训 第一阶段总结 233
    hdu 1693 Eat the Trees 插头dp
  • 原文地址:https://www.cnblogs.com/asenyang/p/15497437.html
Copyright © 2011-2022 走看看