个人开发的一个基于C++的分布式高并发即时通讯系统,采用微服务架构和Qt框架实现前后端功能。系统支持文本、语音、图片、文件等多种
消息类型,通过多种优化策略和后端技术提升系统的性能、扩展性和稳定性,满足大规模用户的实时通信需求。
项目成果:
⚫ 分布式微服务架构设计:
设计系统的微服务架构,将功能拆分为用户管理、好友管理、消息存储、文件管理、语音识别等多个子服务,支持独立扩展和动态调度。
使用服务网关实现统一的请求管理、负载均衡及动态路由,增强系统弹性。
通过Etcd实现服务注册与发现,确保服务的高可用性和容灾能力。
⚫ 高性能网络通信优化:
采用WebSocket和HTTP协议支持双向通信,保障消息实时推送的高效性。
利用RPC、Protobuf进行高效数据序列化调用,结合RabbitMQ实现异步消息传递机制,降低通信延迟,提升并发处理能力。
实现Redis缓存和ElasticSearch全文检索,优化数据访问速度和聊天记录查询性能。
⚫ 客户端开发与优化:
基于Qt开发高性能客户端,提供用户注册、好友管理、消息展示等功能,设计自定义UI组件,提升用户体验。
采用异步消息加载和动态渲染策略,提高聊天界面的响应速度,减少界面卡顿现象。
⚫ 系统稳定性与自动化部署:
利用Docker实现容器化部署和环境隔离,构建CI/CD流水线,支持一键部署及自动化测试。
通过spdlog日志和gtest单元测试,监控系统运行状态,提升系统的可维护性和稳定性。
应用技术:C++、Qt、Linux、brpc、Redis、MySQL、ES、RabbitMQ、Etcd、spdlog、gtest、gflags、Protobuf、shell、CMake、Docker。