HandsomeForum学习论坛
时间:2023-12-30 16:37:06
文章目录
- HandsomeForum学习论坛
-
- 一、使用技术
- 二、责任描述
- 三、项目介绍
- 四、开发上线
- 五、项目预览
- 六、即将开源
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