前言
该项目是基于muduo网络库的集群聊天服务器。
实现的功能有:登录、注销、注册、一对一聊天、群组的创建、群聊天以及离线消息的接收和存储。
使用工具:vscode连接云服务器(Ubuntu20.04),CMake构建编译。。。
利用json进行数据的封装与交互。
实现了MySQL连接池,省去大量三次握手四次挥手过程,提高数据库访问效率。
服务器中间件利用的redis(基于发布-订阅)。
有多台服务器,由Nginx进行TCP负载均衡(客户端都连接一个端口,再通过负载均衡器连接服务器)。
项目源码地址:https://github.com/Sauron7i/Cluster_ChatServer
技术栈
- Json序列化和反序列化
- muduo网络库开发
- nginx源码编译安装和环境部署
- nginx的tcp负载均衡器配置
- redis缓存服务器编程实践
- 基于发布-订阅的服务器中间件redis消息队列编程实践
- MySQL数据库编程
- CMake构建编译环境
- Github托管项目
项目目标
- 掌握服务器的网络I/O模块,业务模块,数据模块分层的设计思想
- 掌握C++ muduo网络库的编程以及实现原理
- 掌握Json的编程应用
- 掌握nginx配置部署tcp负载均衡器的应用以及原理
- 掌握服务器中间件的应用场景和基于发布-订阅的redis编程实践以及应用原理
- 掌握CMake构建自动化编译环境
- 掌握Github管理项目
环境和库依赖
- ubuntu(18.04及以上)或者centos 7
- 安装Json开发库
- 安装boost + muduo网络库开发环境
- 安装redis环境
- 安装mysql数据库环境
- 安装nginx
- 安装CMake环境