`

MQ概念

    博客分类:
  • MQ
 
阅读更多

MQ

1.消息队列可以简单理解为:把要传输的数据放在队列中。用来降低Web服务器因发送消息而导致的负载和延时问题。

2.为什么用MQ(MQ优点):解耦、异步、削峰/限流、高可用、防数据丢失。

1)解耦举例:订单系统下单,需要调用支付系统、物流系统、库存系统、积分系统等等一批。物流系统宕机,整个一串全完。使用MQ,只需要物流系统修复后从MQ中读取消息进行处理,其他系统正常运行。

2)异步举例:订单系统下单,需要调用支付系统、物流系统、库存系统、积分系统等等一批。导致订单提交耗时很长。使用MQ,订单系统推送到MQ,然后结束,其他系统接收消息后自行处理。

3)削峰/限流:并发量大系统,假设每秒钟并发1万次,一台服务器每秒钟处理1百次,共10台机器。可以使用MQ每次处理1百,其他的排队等待。

4)高可用:MQ用来削峰,一但宕机,全完蛋,这就需要支持集群。

5)防数据丢失:MQ运行着,各种原因导致宕机,要防止数据丢失。MQ可把数据持久化到磁盘上。

 

版本比较

ActiveMQ

多用于传统企业,对高并发、高吞吐、高负载要求不高的,且版本的迭代速度比较慢,目前是几个月迭代一个小版本。

RabbitMQ

多用于中型企业,支持万级的吞吐,可以保证数据不丢失,有可视化的数据管理页面,版本迭代速度比较快,缺点是用erlang语言开发的,源码分析较难,难以二次开发。

RocketMQ

  阿里开发的,用的是Java语言,支持十万级的吞吐,可以做分布式的,缺点是如果阿里放弃此技术,公司又没有研究源码的人,那后续出现的问题不好解决。

Kafka

  是apache开源的消息队列项目,多用于大数据,有超高的吞吐量,如实时日志采集、实时数据同步、实时数据计算等。

RabbitMQ和Kafka比对:

  Kafka作为消息传输的数据管道,RabbitMQ作为交易数据作为数据传输管道,主要的取舍因素则是是否存在丢数据的可能;RabbitMQ在金融场景中经常使用,具有较高的严谨性,数据丢失的可能性更小,同时具备更高的实时性;而kafka优势主要体现在吞吐量上,虽然可以通过策略实现数据不丢失,但从严谨性角度来讲,大不如RabbitMQ;由于Kafka保证每条消息最少送达一次,有较小的概率会出现数据重复发送的情况;Kafka的设计初衷就是处理日志。

分享到:
评论

相关推荐

    MQ介绍与选型

    #### 一、MQ概念与作用 **消息队列**(Message Queue, MQ)是一种软件架构模式,用于实现应用间的消息传递。它通过存储消息并在适当的时间将其转发给消费者来促进分布式系统中的异步通信。MQ的核心功能在于能够提高...

    操作mq示例

    4. **MQ概念**:理解消息队列的核心概念,如生产者(Producer)、消费者(Consumer)、消息(Message)、队列(Queue)和交换机(Exchange)等。 5. **消息模型**:熟悉各种消息传递模型,如点对点(Point-to-Point...

    精通IBM WebSphere(MQ)

    ### 知识点一:IBM WebSphere MQ 概念与原理 #### 1.1 IBM WebSphere MQ 简介 IBM WebSphere MQ(也称为 WMQ 或 MQ)是一种先进的消息中间件,它允许分布式系统之间的可靠消息传递。WMQ 的核心特性包括支持多种...

    WebSphere MQ Documentation 1.2

    1. **MQ概念**:理解MQ的核心概念,如消息队列、消息传递模型、通道、队列管理器等,这些都是构建基于MQ的应用程序的基础。 2. **安装与配置**:在Linux、AIX和Windows平台上安装MQ的步骤,包括环境设置、软件依赖...

    WebSphereMQ教程.ppt

    **MQ概念** 1. **中间件**:中间件是连接不同计算环境的软件,如Unix、MVS、OS/400、VMS、Windows NT/2k等,以及各种通信协议(如SNA、NetBIOS、TCP/IP)。它提供了一种标准接口,让不同平台的应用能够相互通信,如...

    IBM MQ教程

    Websphere MQ 介绍 安装和配置Websphere MQ Websphere MQ 集群 Websphere MQ 分布式队列管理 Websphere MQ 故障诊断 MQ概念 中间件 MOM 异步通信 消息原理 MQ对象 演示 Reference (备用) 应用案例

    MQ学习文档 方便回顾!

    #### 一、MQ概念与特性 **1.1 同步与异步通讯** - **同步通讯**: - 特征:即时响应。 - 例子:电话通话。 - 优点:及时反馈,效率高。 - 缺点:资源消耗大,耦合度高。 - **异步通讯**: - 特征:非即时...

    Websphere+MQ全套教程合集.rar

    本教程合集涵盖了Websphere MQ的各个方面,包括基础概念、安装配置、使用方法以及高级特性,旨在帮助学习者全面掌握这一重要的IT技术。 一、Websphere MQ基础 1. 消息队列原理:理解MQ的基本工作模式,即生产者将...

    IBM_MQ下载

    IBM MQ的核心概念包括以下几点: 1. **队列管理器(Queue Manager)**:这是IBM MQ的核心组件,负责管理消息的存储、路由和传递。每个队列管理器都有自己的内存和磁盘资源,用于缓存和持久化消息。 2. **队列...

    IBM MQ Explore windows下安装包

    首先,我们需要了解IBM MQ的基本概念。IBM MQ是一种消息中间件,它提供了一种可靠、高效的方式来传输应用程序之间的数据,确保即使在网络不稳定或系统故障的情况下也能完成消息传递。队列管理器是IBM MQ的核心组件,...

    IBM WebSphere MQ 安装包

    1. **消息中间件概念**:消息中间件是连接分布式系统的一种软件,它通过消息队列进行数据交换,降低了系统之间的耦合度,使得各个组件可以独立运行和扩展。WebSphere MQ是这类中间件的代表之一,其强大的功能和广泛...

    MQ,websphere mq

    学习MQ和WebSphere MQ的相关书籍可以帮助我们深入理解以下关键概念: 1. **消息队列模型**:理解消息如何在队列中存储和传递,以及不同类型的队列(如本地队列、远程队列、死信队列等)。 2. **WebSphere MQ架构**...

    WebSphere MQ中的基本概念和对象

    在WebSphere MQ中,了解和掌握基本概念及对象对于深入理解和使用这个强大的中间件系统至关重要。WebSphere MQ提供了一个高效且可靠的消息传递平台,用于在分布式系统之间交换数据。以下是对核心概念和对象的详细解释...

    JAVA IBM MQ 接收、发送

    首先,我们需要理解IBM MQ的基本概念。MQ系列是IBM提供的消息队列服务,它通过消息模型实现了应用之间的解耦。消息队列允许应用程序将数据作为消息放入队列,然后由其他应用程序在合适的时间取出处理,这极大地提高...

    IBM MQ security lab MQ security channel

    "MQ security channel"是IBM MQ中的一个重要概念,主要涉及的是数据传输过程中的安全机制,确保信息在传输过程中不被窃取或篡改。 在IBM MQ v7.1及后续版本中,安全通道认证得到了显著增强,以满足更严格的安全需求...

    IBM WebSphere MQ入门教程.pdf

    中间件的概念和优点 中间件是一种软件系统,用于连接不同的应用程序,实现它们之间的交互和数据交换。中间件的优点包括:提高系统的可扩展性、提高系统的可靠性、降低系统的耦合度、提供统一的接口等。 WebSphere ...

    JAVA连接IBM MQ代码

    首先,我们需要了解IBM MQ的基本概念。它是一个异步通信系统,允许应用程序通过消息队列发送和接收数据,而无需两者同时在线。这样,即使发送方和接收方运行在不同的操作系统或网络环境中,也可以确保数据的稳定传输...

    Websphere MQ资料集合(包含精通mq、mq java编程、mq编程模式、mq for linux等)

    1. **Websphere MQ基础**:理解MQ的基本概念,如消息队列、队列管理器、通道、消息格式等,以及它们在分布式系统中的作用。 2. **MQ工作原理**:学习MQ如何通过点对点或发布/订阅模型进行消息传递,以及如何确保...

    MQ 相关介绍PPT

    MQ 相关介绍 PPT 是关于 IBM WebSphere MQ 的概念和对象的详细介绍,涵盖了 JMS 使用和发布/订阅的实现,同时也涉及到 ActiveMQ 的介绍。本文将详细地解释 WebSphere MQ 的概念、对象和实现机制。 概念:消息...

    MQ指令,MQ编写指导

    本文将深入解析MQ系统的核心概念、最佳实践以及如何优化MQ的使用,确保信息传输的高效与安全。 ### MQ系统的核心概念 MQ系统作为分布式计算环境中的一种消息中间件,其主要功能是实现应用程序之间的异步通信。它...

Global site tag (gtag.js) - Google Analytics