队列结构认识

目录


什么是队列?

消息中间件是指在分布式系统中完成消息的发送和接收的基础软件。消息中间件也可以称消息队列(Message Queue / MQ)。

队列数据结构的特点:

跟排队一样:先进先出

队列的应用场景:

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

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

消息处理的触发机制

  • 死循环方式读取

    易实现,但有故障时无法及时处理和恢复。

  • 定时任务

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

  • 守护进程

    类似PHP-FPM 和 PHP-CG机制。

  • 回调

    函数回调。

异步消息队列的概念

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

常见的异步消息队列框架

  • RabbitMQ:
    基于 AMQP 协议的消息队列,功能强大,支持复杂的路由和消息传递模式。
  • Apache Kafka:
    面向高吞吐量和实时数据流处理的分布式流平台,广泛用于日志收集和实时分析。
  • Beanstalkd
    Beanstalk 是一个简单、快速的工作队列。最初设计用于通过异步运行耗时任务来减少大容量 Web 应用程序中的页面浏览延迟。
  • Redis:
    是一个内存数据库,但也可以用作简单的消息队列,支持发布/订阅和列表操作。
相关推荐
whaledown6 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
阿昌喜欢吃黄桃7 天前
RocketMq事务消息原理
java·中间件·消息队列·rocketmq·mq
半夜修仙7 天前
延迟队列的介绍及常见问题
java·数据库·中间件·rabbitmq
手握风云-7 天前
一条消息的旅程:RabbitMQ 学习与实践(一)
中间件·rabbitmq
RH2312118 天前
2026.6.8Linux
java·数据库·中间件
理人综艺好会9 天前
双Token机制在实际项目中的应用与实践
中间件·token
番茄去哪了9 天前
神领物流面试题(一)
java·大数据·中间件
念何架构之路10 天前
消息中间件
中间件
都说名字长不会被发现10 天前
Spring Boot Starter 中间件账号密码加密方案设计与实现
java·spring boot·后端·中间件
瀚高PG实验室10 天前
java中间件无法连接数据库
java·数据库·中间件·瀚高数据库