# mq **Repository Path**: zhou-liurong/mq ## Basic Information - **Project Name**: mq - **Description**: 仿照RabbitMQ实现消息队列 - **Primary Language**: C++ - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-06-04 - **Last Updated**: 2026-03-08 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 介绍 C++-仿RabbitMQ实现消息队列相关代码 #### 项目总结 仿RabbitMQ实现一个简化版的消息队列组件,其内部实现了消息队列服务器以及客户端的搭建,并支持不同主机间消息的发布与订阅及消息推送功能。 基于muduo库实现底层网络通信服务器和客户端的搭建,在应用层基于protobuf协议设计应用层协议接口,在数据管理上使用了轻量数据库sqlite来进行数据的持久化管理,以及基于AMQP模型的理解,实现整个消息队列项目技术的整合,并在项目的实现过程中使用gtest框架进行单元测试,完成项目的最终实现。 #### 开发环境 • Linux(Centos-7.6 / Ubuntu-22.04) • VSCode/Vim • g++/gdb • Makefile #### 技术架构 开发主语言:C++ • 序列化框架:Protobuf 二进制序列化 • 网络通信: • 自定义应用层协议 + muduo库:对tcp长连接的封装、并且使用epoll的事件驱动模式,实现高并发服务器与客户端 • 源数据信息数据库: SQLite3 • 单元测试框架: Gtest #### 参与贡献 本mq仓库 #### 未来拓展功能 • 虚拟主机管理 • 用户管理/用户认证 • 交换机/队列的独占模式和自动删除 • 发送方确认(broker 给生产者的确认应答) • 消息的管理方式 • 管理接口 • 管理页面