首页 > 其他分享 >队列结构认识

队列结构认识

时间:2024-06-12 16:00:10浏览次数:24  
标签:异步 处理 队列 认识 消息 消息传递 机制 结构

目录


什么是队列?

image

队列数据结构的特点:
跟排队一样:先进先出

队列的应用场景:
一般在业务中,常常把队列作为一种中间件服务,比如当要处理大量消息的时候,往往是把这些消息放入一个队列存储,这时并不需要立即对它进行处理得到结果。

最后是由订阅者(或消费者)去队列结构里取出,按顺序处理。

消息处理的触发机制

  • 死循环方式读取
    易实现,但有故障时无法及时处理和恢复。

  • 定时任务
    压力均分,有处理量上限,比如在上个定时任务没处理完的情况。

  • 守护进程
    类似PHP-FPM 和 PHP-CG机制。

  • 回调
    函数回调。

异步消息队列的概念

异步消息队列(Asynchronous Message Queue)是一种用于在分布式系统中实现异步通信的机制。它允许不同的应用程序或系统组件通过消息传递进行交互,而无需立即响应或等待对方的处理结果。这种机制有助于解耦系统组件,提高系统的扩展性和容错能力。

常见的异步消息队列框架

  • RabbitMQ:
    基于 AMQP 协议的消息队列,功能强大,支持复杂的路由和消息传递模式。
  • Apache Kafka:
    面向高吞吐量和实时数据流处理的分布式流平台,广泛用于日志收集和实时分析。
  • Beanstalkd
    Beanstalk 是一个简单、快速的工作队列。最初设计用于通过异步运行耗时任务来减少大容量 Web 应用程序中的页面浏览延迟。
  • Redis:
    是一个内存数据库,但也可以用作简单的消息队列,支持发布/订阅和列表操作。

标签:异步,处理,队列,认识,消息,消息传递,机制,结构
From: https://www.cnblogs.com/mysticbinary/p/18244017

相关文章

  • 基于振弦采集仪的高层建筑结构安全监测技术研究
    基于振弦采集仪的高层建筑结构安全监测技术研究高层建筑的结构安全监测一直是建筑工程领域的重要课题,振弦采集仪作为一种新兴的监测技术,为解决这一问题提供了有力的工具。本文将从振弦采集仪的原理、应用场景以及优势等方面探讨其在高层建筑结构安全监测中的技术研究。 振弦......
  • 【数据库表结构整理】screw 一键生成数据库文档,从此告别人工整理文档
    使用步骤如下:引入依赖在pom.xml文件中引入如下依赖<dependency><groupId>cn.smallbun.screw</groupId><artifactId>screw-core</artifactId><version>1.0.3</version></dependency>编写代码新建测试类,编写如下代码生成文档,其次配置数据库相关连接信息;根......
  • 【CMake系列】06-项目结构与输出路径管理
    为了对大型项目实现更好的管理【模块化协作开发等等】,cmake提供了很多指令,可以对项目的结构进行调整、管理,便于项目的合理规划。本文我们要学习的就是项目结构的设置,以及构建程序等输出路径的设置本专栏的实践代码全部放在github上,欢迎star!!!如有问题,欢迎留言、或加群......
  • 《Linux内核完全注释》学习笔记:2.7 Linux内核源代码的目录结构
    由于Linux内核是一种单内核模式的系统,因此内核中所有程序几乎都有紧密的联系,它们之间的调用关系非常密切。所以在阅读一个源代码文件时往往需要参阅其他相关的文件。因此有必要在开始阅读内核源代码之前,先熟悉一下源代码文件的目录结构。这里我们首先列出Linux内核完整的源代......
  • 【投稿优惠】2024年城市建设与土木功能结构国际会议(UCCFS 2024)
    2024年城市建设与土木功能结构国际会议2024InternationalConferenceonUrbanConstructionandCivilFunctionalStructures会议简介2024年城市建设与土木功能结构国际会议是一个专注于城市建设与土木功能结构领域最新发展的国际交流平台。本次会议汇集了全球顶尖的......
  • golang json字符串转结构体
    腐汝 博客园首页新随笔联系订阅管理随笔-168  文章-0  评论-2  阅读- 89497golangjson字符串转结构体 1、不知道结构体类型的情况下funcJsonStringToMap(jsonStrstring)(map[string]interface{},error){//未知值类型......
  • CH04_程序流程结构
    CH04_程序流程结构程序流程结构C/C++支持最基本的三种程序运行结构:顺序结构:程序按顺序执行,不发生挑战选择结构:依据条件是否满足,有选择的执行相应的功能循环结构:依据条件是否满足,循环多次执行某段代码选择结构if语句作用:执行满足条件的语句单行格式if语句:if(条件){语句......
  • CH08_结构体
    CH08_结构体基本概念结构体属于用户自定义数据类型,允许用户存储不同的数据类型。定义和使用语法:struct结构体名{结构体成员列表}通过结构体创建变量的方式有三种:struct结构体名变量名struct结构体名变量名=定义结构体时顺便创建变量示例:#include<iostream>usi......
  • 【结构识别】Reconstructing propagation networks with natural diversity and ident
    摘要从数据中重构复杂网络结构和动力学的能力是理解和控制复杂系统集体动力学的基础。尽管最近在这方面取得了进展,但利用随机动态过程的有限时间序列重建网络仍然是一个尚未解决的问题。我们提出了一个基于压缩感知的框架去重构发生随机扩散动力学的复杂网络。我们将该方法应用于......
  • wimlib API 提供了一系列用于处理 Windows 映像文件(.wim 文件)的函数和数据结构,使开发
    wimlibAPI提供了一系列用于处理Windows映像文件(.wim文件)的函数和数据结构,使开发人员能够在其应用程序中集成对WIM文件的创建、修改和提取功能。以下是一些常见的wimlibAPI:WIM文件的创建和初始化:wimlib_create_new_wim():创建一个新的WIM文件。wimlib_open_wim():......