以下介绍消息队列在实际应用中常用的使用场景。异步处理,应用解耦,流量削锋和消息通讯四个场景。
1.异步处理
场景说明:用户注册后,需要发注册邮件和注册短信。做法有如下几种
(1)串行方式:将注册信息写入数据库成功后,发送注册邮件,再发送注册短信。以上三个任务全部完成后,返回给客户端。
(2)并行方式:将注册信息写入数据库成功后,发送注册邮件的同时,发送注册短信。以上三个任务完成后,返回给客户端。与串行的差别是,并行的方式可以提高处理的时间。
(3)引入消息队列,将不是必须的业务逻辑,异步处理。
2.应用解耦
场景说明:用户下单后,订单系统需要通知库存系统。传统的做法是,订单系统调用库存系统的接口。
引用消息队列后:
-
订单系统:用户下单后,订单系统完成持久化处理,将消息写入消息队列,返回用户订单下单成功
-
库存系统:订阅下单的消息,采用拉/推的方式,获取下单信息,库存系统根据下单信息,进行库存操作
-
假如:在下单时库存系统不能正常使用。也不影响正常下单,因为下单后,订单系统写入消息队列就不再关心其他的后续操作了。实现订单系统与库存系统的应用解耦。
3. 流量削锋
场景说明:秒杀活动,一般会因为流量过大,导致流量暴增,应用挂掉。为解决这个问题,一般需要在应用前端加入消息队列。
用户的请求,服务器接收后,首先写入消息队列。假如消息队列长度超过最大数量,则直接抛弃用户请求或跳转到错误页面,秒杀业务根据消息队列中的请求信息,再做后续处理。
4.日志处理
日志处理是指将消息队列用在日志处理中,比如Kafka的应用,解决大量日志传输的问题
-
日志采集客户端,负责日志数据采集,定时写受写入Kafka队列
-
Kafka消息队列,负责日志数据的接收,存储和转发
-
日志处理应用:订阅并消费kafka队列中的日志数据
5.消息通讯
消息通讯是指,消息队列一般都内置了高效的通信机制,因此也可以用在纯的消息通讯。比如实现点对点消息队列,或者聊天室等。以上实际是消息队列的两种消息模式,点对点或发布订阅模式。
相关推荐
### 应用系统之间的几种数据传输方式 #### 一、数据传输方式概述 随着SOA(面向服务架构)的普及,应用系统之间的交互越来越频繁。为了确保这些交互能够高效、安全地进行,需要选择合适的数据传输方式。本文将详细...
其次,H5微应用是钉钉为企业内部定制的一种轻量级应用形式。它们基于HTML5技术,可以在钉钉内直接打开,无需安装,适合快速开发和迭代。开发H5微应用涉及以下几个关键点: 1. 设计微应用的页面结构和交互,遵循钉钉...
在易语言中,实现消息循环通常涉及以下几个关键部分: 1. **消息处理子程序**:这是程序响应系统消息的地方,通常命名为`yourWndProc`。在这个子程序中,你需要编写代码来处理特定的消息类型,比如`WM_MOUSEMOVE`...
这篇教程将深入探讨几种常用的VC6.0控件及其应用。 一、按钮(Button) 按钮控件是最基础的控件之一,用户点击后通常会触发某个事件。在VC6.0中,我们可以通过对话框编辑器添加按钮,并通过响应其消息(如BN_...
### 基于短消息TC35的一种应用方法 #### 一、系统概述及组成 在《短消息TC35的一种应用方法》这篇文章中,主要介绍了一种利用单片机控制GSM调制解调器TC35模块来实现中文短消息收发的技术方案。随着全球移动通信...
在ASP.NET中,消息队列(Message Queuing,简称MSMQ)是一种强大的技术,用于实现应用程序间的异步通信。它允许应用程序将消息放入队列中,而不必立即等待响应,从而提高了系统的可伸缩性和可靠性。京华志和精华志...
在Windows操作系统中,消息队列(Message Queue)是一种用于进程间通信(IPC,Inter-Process Communication)的技术,它允许不同的应用程序或线程之间交换信息。本文将深入探讨如何利用Windows自带的消息队列组件来...
【浅析设备驱动程序通知应用程序的几种方法】 设备驱动程序是操作系统的核心组成部分,它们作为硬件与上层软件之间的桥梁,负责处理硬件相关的低级任务,如I/O操作、硬件中断处理、DMA(Direct Memory Access)传输...
标题中的“几种监控SOAP消息的方法”意味着我们将探讨如何在IT环境中监测基于SOAP(Simple Object Access Protocol)的网络通信。SOAP是一种用于交换结构化和类型化的信息的协议,常用于Web服务。监控SOAP消息有助于...
在易语言中,实现消息循环通常涉及以下几个关键组件和函数: 1. **窗口过程**:窗口过程是处理消息的函数,每个窗口都有一个与之关联的窗口过程。在易语言中,窗口过程通常用`窗口过程`关键字定义,用于接收并处理...
消息中间件是一种在不同应用或系统之间传递消息的软件,它位于操作系统和应用软件之间,为应用软件提供运行环境和服务。消息中间件支持分布计算,提供跨网络、硬件和操作系统平台的透明应用或服务交互,并支持标准...
在政务系统中,基于XMPP的即时消息系统具有以下几种典型应用模式: 1. **内部协作**:政府内部各部门之间可以通过即时消息系统进行高效沟通,提高工作效率。 2. **公众服务**:政府可以通过即时消息系统向公众提供...
本文将详细介绍几种常见的应用系统间数据传输方式,并针对每种方式的特点、优缺点进行分析。 #### 二、数据传输的基本要素 在探讨具体的传输方式之前,我们需要了解数据传输的基本要素: 1. **传输方式**:指数据...
消息队列是一种应用系统之间进行异步通信的中间件,它的核心功能是实现不同应用之间的信息传递,它在软件工程中常用于解耦服务、提高系统伸缩性以及保证消息传递的可靠性和顺序性。在当今分布式系统架构中,消息队列...
在发送消息的应用中,可能会有以下几个关键知识点: 1. **消息发送API**:易语言可能调用了Windows API函数,如`SendMessage`、`PostMessage`等,来实现跨进程或者跨线程的消息传递。这些API允许程序向其他窗口发送...
首先,Windows消息是操作系统用于在应用程序之间以及应用程序内部组件之间传递信息的一种方式。这些消息包括键盘输入、鼠标点击、窗口状态改变等各种事件。Delphi,作为一个基于Windows的RAD(快速应用开发)工具,...
在这样的框架中,应用层消息驱动机制通常包括以下几个关键组成部分: 1. **消息队列**:用于存储待处理的消息,确保消息的有序性和避免并发处理冲突。 2. **消息处理器**:解析和执行消息,根据消息类型调用相应的...
ESB提供了一种开放的、基于标准的消息机制,通过简单的标准适配器和接口,来完成粗粒度应用(服务)和其他组件之间的互操作,能够满足大型异构企业环境的集成需求。它可以在不改变现有基础结构的情况下让几代技术...
WebService是一种基于网络的应用程序接口,它采用标准的HTTP协议作为传输协议,而SOAP消息格式用于传输数据。SOA(面向服务架构)是一种设计思想,它允许将应用程序的不同功能单元(称为服务)通过网络进行连接和...
下面将对 LTE 中的几种消息类型和参考信号进行详细介绍。 一、 MSG 消息 MSG 消息是 LTE 中的一种特殊类型的消息,主要用于随机接入 RRC 建立时。在随机接入 RRC 建立过程中,UE 会发送五种不同的 MSG 消息,分别...