项目简介
本项目是基于Go语言开发的用户管理系统,包含用户Web登陆界面、HTTP server服务与TCP server服务。利用Redis进行热点数据缓存,MySQL存储用户相关信息,通过RPC调用实现HTTP server和TCP server间的通信,为用户提供注册、登录、获取信息、修改昵称和头像等功能。
项目的主要特性和功能
- 分层架构:HTTP server处理HTTP请求并转发,TCP server处理转发请求并访问数据库。
- 数据库结合:用Redis缓存热点数据,如登陆校验的token、用户信息和登录信息;MySQL维护用户信息表和用户登陆信息表。
- RPC通信:通过自定义的RPC通信协议,实现HTTP server和TCP server之间的高效通信。
- 丰富接口:提供注册、登录、获取用户信息、更改用户昵称和头像等API接口。
- 测试机制:具备功能测试、单元测试和压力测试,可对系统性能和功能进行全面验证。
安装使用步骤
前提条件
用户已下载本项目的源码文件,并安装好Go语言环境。
具体步骤
- 启动TCP server:在终端中执行
go run tcp_server.go
。 - 启动HTTP server:待TCP server启动后,在终端执行
go run http_server.go
。 - 功能测试:通过Web界面或工具进行用户登录、显示用户信息、修改用户头像等功能测试。
- 单元测试:在
redis
、mysql
、tcp_server
目录下执行go test
命令运行对应代码的单元测试。 - 压力测试:例如进行固定用户登陆压力测试,在
wrk
目录下执行wrk -t5 -c200 -d50s -T20s -s fixedLogin.lua http://localhost:1088/login
。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】