- HandsomeForum学习论坛
- 一、使用技术
- 二、责任描述
- 三、项目介绍
- 四、开发上线
- 五、项目预览
- 六、即将开源
作者:识时务者
一、使用技术Thymeleaf + Spring Boot + Spring Security + MyBatis-Plus + MySQL + Knife4j + Ehcache + Redis + RabbitMQ + Docker + Nginx
二、责任描述单独负责项目,前后端兼顾。
三、项目介绍在学习的过程中需要做笔记以及学习交流,HandsomeForum学习论坛支持使用MarkDown语法写文章以及发布问题,支持签到、私聊、留言、关注等功能。普通用户发问答、文章需要进行QQ邮箱验证,提高问答以及文章内容的可靠性,提升用户的体验。
四、开发上线1.Spring Security框架进行登录验证和权限控制并实现普通用户与管理员权限,管理员可以对普通用户账号、文章等信息进行管理并且可以赋予普通用户管理员权限;支持自定义上传头像、文章图片到七牛云。
2. 使用AOP实现日志记录以及监控方法运行时间,并统计论坛总访问量;使用自定义注解实现邮箱验证。
3. 给用户表的用户名字段创建唯一索引,提升登录查询速度;查询时用具体的字段代替 select * 语句。
4. 使用Druid监控SQL执行,记录慢查询日志;将Swagger2换成Knife4j,提高接口文档的可读性。
5. 使用线程池异步请求数据库,提升响应速度;对静态资源实现CDN加速,提升页面加载速度。
6. 使用Ehcache实现进程内缓存,减轻数据库访问压力;使用Lambda表达式以及Optional类优化代码。
7. 使用Redis通过计数器算法实现根据IP限流,防止用户恶意请求。
8. 使用Semaphore控制线程访问数量,避免服务器在高并发下宕机。
9.使用RabbitMQ异步发送邮件、异步记录用户登录信息、异步更新文章、问答的浏览量,提升接口性能。
10. 使用Linux服务器并运用Docker容器部署项目,使项目易于扩展和管理。
11. 使用Nginx实现反向代理、负载均衡,减轻服务器的单点压力,实现服务的高可用。
线上地址:http://huangjunjie.vip:66
五、项目预览首页
登录页
注册页
个人中心
HandsomeForum学习论坛项目仍在开发、测试中,已上线( http://huangjunjie.vip:66 ),可以前往体验。
即将开源,敬请期待!!!
已经开源的项目:HandsomeBlog,一款用于记录学习笔记的博客系统。
Gitee开源地址:https://gitee.com/handsomeHJJ/handsome-blog
有任何问题都可以联系我
WX:13047967256
QQ:1327259918



