美文网首页
消息队列的概念

消息队列的概念

作者: Ombres | 来源:发表于2019-05-20 22:28 被阅读0次

如何理解消息队列

消息队列的出现是在PRC的基础之上,当多个系统调用复杂的情况下,有人就这样去想了,能不能做一个中转站(本质也是一个PRC系统)单独用来传递信息,其他系统通过这个中转站来进行收发消息呢?
消息队列的本质应该是两个PRC调用和一个信息存储。消费者调用接口向队列发送消息,消息队列将消息存储下来,然后向订阅了的消费者发送该消息。

消息模型

1. 点对点

消息生产者向消息队列发送一条消息,只能被一个消费者消费一次

2. 发布/订阅

消息生产者向消息队列中的主题发送消息,多个消费者可以在消息队列中订阅该主题。不同类型的消费者可以多次消费消息。

使用场景

1. 异步处理

消息队列具有很好的削峰作用的功能,通过异步处理,将短时间高并发产生的事务消息存储在消息队列中,从而削平高峰期的并发事务。

2. 应用解耦

消息队列使利用发布-订阅模式工作,消息发送者(生产者)发布消息,一个或多个消息接受者(消费者)订阅消息。这样消费者和生产者就没有直接耦合,如果模块之间不直接进行调用,模块之间耦合度就会很低,那么修改一个模块或者新增一个模块对其它模块的影响会很小,从而实现可扩展性。
通过使用消息队列,一个模块只需要向消息队列中发送消息,其它模块可以选择性地从消息队列中订阅消息从而完成调用。

可能出现的问题

  1. 系统可用性降低。
  2. 系统复杂性提高。
  3. 一致性问题。

相关文章

  • 消息队列概念

    一、消息 1、什么是消息 消息本质上是一种数据结构(当然,对象也可以看做是一种特殊的消息),它包含消费者与服务双方...

  • 消息队列概念

    含义 消息队列就是一个使用队列来通信的组件。 但就现在而言我们日常所说的消息队列常常指代的是消息中间件,它的存在不...

  • 消息队列的概念

    如何理解消息队列 消息队列的出现是在PRC的基础之上,当多个系统调用复杂的情况下,有人就这样去想了,能不能做一个中...

  • 消息队列概念与认知

    MQ学习系列: 消息队列概念与认知 ActiveMQ Topic消息重发 本文是-消息队列学习的概念与介绍篇。目的...

  • 消息队列之一:简介

    本文分为二个部分来阐述 :一、什么是消息队列二、消息队列的常见应用场景 一、消息队列的概念消息队列(Message...

  • Android 源码分析-消息队列和 Looper

    1. Android 源码分析-消息队列和 Looper概念 什么是消息队列消息队列在 android 中对应 M...

  • PHP消息队列实现及应用

    1. 消息队列概念 消息队列其实就是队列结构的中间件 (1). 队列结构的中间件 (2). 消息放入后,不需要立即...

  • 消息队列概念备忘

    最近在玩RabbitMQ,前面的博客已经对于RabbitMQ这一消息队列软件的安装做了说明,感觉该说一说理论概念上...

  • IPC-消息队列

    消息队列概念 消息队列是IPC(进程间通信,inter process communication)中常用的一种方...

  • RabbitMQ 六大模式详解及实例

    1.MQ 消息队列概念 MQ(message queue)消息队列,FIFO先入先出。对服务器的请求先加入到消息队...

网友评论

      本文标题:消息队列的概念

      本文链接:https://www.haomeiwen.com/subject/hcqrzqtx.html