背景
之前做日志收集模块时,用到flume。另外也有的方案,集成kafaka来提升系统可扩展性,其中涉及到消息队列当时自己并不清楚为什么要使用消息队列。而在我自己提出的原始日志采集方案中不适用消息队列时,有几个基本问题:1. 日志文件上传过程,有个基本的生产者-消费者问题;2. 另外系统崩溃时,数据丢失的处理问题。
今天,几位同事再次谈到消息队列这么个东西,很NB的样子,我也想弄清楚,OK,搞起。
什么是消息队列
消息队列(Message Queue,简称MQ),从字面意思上看,本质是个队列,FIFO先入先出,只不过队列中存放的内容是message而已。其主要用途:不同进程Process/线程Thread之间通信。为什么会产生消息队列?这个问题问的好,我大概查了一下,没有查到最初产生消息队列的背景,但我猜测可能几个原因:

本文介绍了消息队列的基本概念,它作为进程间通信的中间件,用于系统解耦和消息缓存。消息队列通过提供冗余、可恢复性和可伸缩性提升系统可靠性,同时增强系统扩展性。文章还讨论了消息队列如何确保消息的唯一处理、顺序性和异步通信,并列举了其在实际应用中可能遇到的问题。
最低0.47元/天 解锁文章





