MQ概述

作者: 小蜗牛Aaron | 来源:发表于2020-03-05 19:18 被阅读0次

MQ绪论

事件紧急 打电话 同步调用
事件不紧急 发短信 发邮件 异步调用

同步 异步调用效果对比

业务场景:
电商下单,发短信 邮件 通知物流


流程

耗时180ms


异步 MQ

基于消息中间件的分布式系统架构

架构

MQ消息中间件概述

什么是MQ消息中间件

利用高效可靠的消息传递机制进行平台无关的数据交流
基于数据通信来进行分布式系统的集成
通过提供消息传递和消息队列模型,他可以在分布式系统间进行进程间通信。

消息中间件的应用场景

跨系统数据传递、高并发流量削峰,数据异步处理,系统解耦等等。

常用的消息中间件

ActiveMQ RabbitMQ Kafka rocketMQ

消息中间件核心设计

一种具备接受消息 发送消息的网络应用
和一般网络程序的区别在于他主要用于数据的接受和传递,所以性能一般高于普通程序。

五大核心组成

  • 协议
  • 持久化机制
  • 消息分发机制
  • 高可用设计
  • 高可靠设计

协议

协议是计算机相互通信的共同遵守的机制,都遵守相同的机制,计算机才能通信。
是对数据格式和计算机之间数据交换必须遵守的规则的正式描述。

三要素
  • 语法 即数据和控制信息的格式或结构
  • 语义 即需要发出何种控制信息,完成何种动作以及做出何种响应。
  • 时序 即事件顺序的详细说明
AMQP协议

Advanced Message Queue Protocol 高级消息队列协议 04年摩通大亨和其他公司共同设计。

  • 事务支持 持久化支持 出生金融行业,在可靠性消息处理上具有天然优势
MQTT协议

Message Queuing Telemetry Transport 消息队列遥测传输是IBM开发的一个即时通讯协议,物联网架构中的重要组成部分。

  • 特性
    轻量 结构简单 传输快 没有事务支持 没有持久化相关设计
  • 应用场景
    适用于计算能力有限、底带宽、网络不稳定的场景
Open Message 协议

Open Messaging 是近两年由阿里发起, 与雅虎 滴滴出行等公司共同创立的分布式消息中间件,流处理领域的应用开发标准。
是首个国内发起的在全球范围内的分布式消息国际标准。

  • 特点
    结构简单 解析快 有事务支持 有持久化支持
kafka 协议

kafka是基于TCP的二进制协议,消息内部是通过长度来分隔,由一些基本数据类型组成。

  • 特性 结构简单、解析快、无事务支持、有持久化设计

持久化

简单来说就是将数据存入磁盘,而不是存在内存中随服务的启动而消失,使数据库能够持久保存叫持久化


持久化
常用持久化方式
持久化方式

消息分发策略

image.png image.png 消息分发策略对比

高可用机制

高可用性是指产品在规定的条件和规定的时刻或时间区域内出于可执行规定的功能状态的能力。
当业务量大的时候,一台消息中间件服务器可能无法满足需求,所以需要消息中间件能够集群部署,来达到高可用的目的。

主从共享数据的部署方式
共享数据的部署方式
Master-Slave 主从共享的方式
主从共享的方式
主从同步部署的方式
主从同步部署
Block-Cluster 多主集群同步的方式
多主集群同步
多主集群转发的方式
多主集群转发
Master-Slave和Broker-Cluster结合
image.png

高可靠

高可靠是指系统可以无故障的持续运行,比如系统从来不崩溃,报错,或者崩溃、报错几率较低。那就是高可靠。
在高并发业务场景下,如果不能保证系统高可靠,造成的损失将不可估量。

  • 消息传输的可靠性
  • 消息存储的可靠性

相关文章

  • 分布式消息队列RocketMQ入门

    一、 RocketMQ概述 1、MQ概述 1)MQ简介 MQ,Message Queue,是一种提供消息队列服务的...

  • MQ概述

    MQ绪论 事件紧急 打电话 同步调用事件不紧急 发短信 发邮件 异步调用 同步 异步调用效果对比 业务场景:电商下...

  • mq概述

    mq用途 限流消峰 加入系统只能承载每秒2000请求,而在一秒内同时来了五千请求则有三千请求无法处理。解决办法加入...

  • 1-Rabbit基础

    1 MQ概述 1.1 MQ的基本概念 MQ(Message Queue) : 翻译为消息队列,通过典型的生产者和...

  • RabbitMQ笔记

    一、MQ的基本概念 1 .1MQ概述 MQ全称 Message Queue(消息队列),是在消息的传输过程中保存消...

  • RabbitMQ原理及相关操作

    MQ使用场景 MQ的使用场景大概包括解耦,提高峰值处理能力,送达和排序保证,缓冲等。 MQ概述 消息队列技术是分布...

  • SpringBoot系列之RabbitMQ使用实用教程

    SpringBoot系列之RabbitMQ使用实用教程@[toc] 1. 消息队列概述 1.1 MQ的概述 消息队...

  • ZeroMQ入门

    概述 ZeroMQ(也称为 ØMQ,0MQ 或 zmq)是一个可嵌入的网络通讯库(对 Socket 进行了封装)。...

  • RabbitMQ全套教程

    1.1 MQ概述MQ全称Message Queue(消息队列),是在消息的传输过程中保存消息的容器。多用于分布式系...

  • 1.MQ入门概述

    1. MQ的产品种类和对比 MQ就是消息中间件。MQ是一种理念,ActiveMQ是MQ的落地产品。不管是哪款消息中...

网友评论

    本文标题:MQ概述

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