# wechat-dev **Repository Path**: yang-yaoning/wechat-dev ## Basic Information - **Project Name**: wechat-dev - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 0 - **Created**: 2025-09-08 - **Last Updated**: 2026-03-21 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 即时通 目前只有后端,想要前端以及具体部署方法可以加群交流:10608644807 ## 项目简介 本项目是一个基于多种主流技术栈构建的高可用即时通讯(IM)系统,专注于实现千万级用户规模的集群聊天服务。项目采用 SpringCloud 结合 Alibaba 体系构建分层聚合微服务架构,整合 Netty 集群实现高效异步通信,并集成多种中间件提供完善的 IM 功能支持。 ## 技术栈 核心框架:Spring Boot 3.0.13、Spring Cloud 2022.0.4、Spring Cloud Alibaba 2022.0.0.0 通信框架:Netty 4.1.25.Final(WebSocket 服务器、集群通信) 服务注册与发现:Zookeeper(节点注册、分布式锁、在线人数统计) 消息队列:RabbitMQ(服务间异步通信、集群内部消息广播、离线消息处理) 缓存与存储: Redis(动态端口分配、黑名单隔离、限流) MinIO(分布式对象存储,处理图片 / 语音 / 视频等文件消息) MySQL 8.0.43(业务数据存储) 搜索引擎:Elasticsearch(海量数据检索、GEO 地理位置统计) 负载均衡:Nginx(集群水平扩展、静态资源发布) 容器化:Docker(中间件容器化部署) 其他工具: FFmpeg、Jcodec(视频处理) Jedis(Redis 客户端) Curator(Zookeeper 客户端) MyBatis-Plus(ORM 框架) ## 项目结构 wechat-dev/ ├── api/ # 微服务API模块 │ ├── auth-service-88/ # 认证服务 │ ├── main-service-66/ # 主业务服务 │ ├── file-service-55/ # 文件处理服务 │ ├── base-service/ # 基础服务 │ └── chat-server-875/ # Netty聊天服务器 ├── gateway-1000/ # 网关服务 ├── wechat-common/ # 公共工具类 └── wechat-pojo/ # 实体类定义 ## 核心功能 即时通讯: 基于 Netty 的 WebSocket 集群聊天服务 单聊与群聊支持 用户心跳机制与连接管理 消息处理: 离线消息存储与同步 消息广播与集群内同步 多媒体消息(图片 / 语音 / 视频)处理与存储 用户功能: 用户认证与授权 黑名单管理与限流 系统支撑: 服务动态扩缩容 分布式锁与资源共享 负载均衡与高可用设计 ## 快速开始 环境要求 JDK 17+ Maven 3.6+ Docker(可选,用于中间件部署) 中间件:Zookeeper、Redis、RabbitMQ、MinIO、MySQL 构建项目 bash # 克隆项目 git clone <项目仓库地址> cd wechat-dev # 编译打包 mvn clean install -Dmaven.test.skip=true 运行服务 启动依赖的中间件服务(可通过 Docker 快速部署) 分别启动各微服务模块: 网关服务(gateway-1000) 认证服务(auth-service-88) 主业务服务(main-service-66) 文件服务(file-service-55) 聊天服务器集群(chat-server-875,可启动多个实例) ## 模块详情 聊天服务(chat-server-875) 基于 Netty 实现的 WebSocket 服务器,负责处理实时聊天消息,通过 Zookeeper 实现服务注册与发现,Redis 管理动态端口,RabbitMQ 实现消息广播与离线消息处理。 文件服务(file-service-55) 处理多媒体文件的上传、存储与转换,集成 MinIO 进行分布式存储,使用 FFmpeg 和 Jcodec 处理视频文件,支持语音识别功能。 主业务服务(main-service-66) 提供核心业务逻辑支持,包括朋友圈评论管理等功能,基于 MyBatis-Plus 实现数据访问层。 认证服务(auth-service-88) 负责用户认证与授权,保障系统安全访问。 网关服务(gateway-1000) 统一入口,实现请求路由、负载均衡等功能。