Skip to content

weblog是一款面向互联网技术开发者的内容分享平台。用户可以在本平台上进行博文的发布、关键字搜索、筛选、查看、点赞、评论等相关操作。对博文的管理,本平台还设置了分类,以便开发者迅速查找感兴趣的博文。用户还可以设置自己的专栏来管理自己发布的博文。 除此之外,相对于CSDN和稀土掘金这种现有的博客平台,weblog平台具有让用户可以根据自己的喜好设置自己喜欢的个性主题。技术栈:SpringBoot/MybatisPlus/Caffeine/Redis/RabbitMQ/Elasticsearch/Minio/Quartz

License

Notifications You must be signed in to change notification settings

RunningYu/weblog

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

19 Commits
 
 
 
 
 
 

Repository files navigation

weblog

1. 博客平台简介: 本平台是一个共享资源的平台,所以也为游客设置了查看博文的权限,主要在于博客大厅。为了方便访问者能快速找到自己想看的博文,博客大厅对博文进行了分类查询,比如,前端、后端、Andriod等。根据博文的相关数据(浏览量、点赞量、评论量、发布时间)还设置了综合查询、最新查询、热榜博文这三个查询。同时还设置了搜索框,可进行关键字查询,而且后台对输入的关键字进行分词,以及对博文的标题和概述进行了分词,然后用输入关键字的分词组对标题和概述的分析组进行模糊查询,实现了更全面、可靠的博文搜索功能。

2. 技术栈: SpringBoot/MybatisPlus/Caffeine/Redis/RabbitMQ/Elasticsearch/Minio/Quartz

3. 技术方案:

  • jwt + redis + token : 用户权限
  • Caffeine+Redis+ES :实现三级缓存,对热门博文和最新博文进行优化,提升查询效率,减轻数据库压力
    • Caffeine:用本地进程缓存来缓存数据,(由于存储在内存中)实现快速的数据的读取,大量减少对数据库的访问,减少数据库的压力
  • RabbitMQ
    • 进行数据一致性和可靠性处理;同步业务,异步处理,提高客户端的响应速度;
    • 采用RabbitMQ的死信交换机实现消息的延迟投递,如删除博文时,对应的所有评论延迟删除。采用失败重试机制避免当消费者出现异常后消息不断requeue而给mq带来不必要的压力。
  • Quartz + 监听器:
    • Quartz: Quartz任务调度框架和Springboot的 监听器 共同实现任务调度功能,并实现定时计算统计更新博客的排名以及进行数据同步保证
  • MinIO: 在云服务器上安装MinIO高性能对象存储,并通过Springboot整合来对项目中的图片文件进行存储
  • Elasticsearch:搜索引擎提供便捷、快速、多功能的查询API,如聚合、过滤、范围、模糊等查询

4. weblog项目的业务设计

image

博客大厅: image image

个人主页: image image image image image image image image image

About

weblog是一款面向互联网技术开发者的内容分享平台。用户可以在本平台上进行博文的发布、关键字搜索、筛选、查看、点赞、评论等相关操作。对博文的管理,本平台还设置了分类,以便开发者迅速查找感兴趣的博文。用户还可以设置自己的专栏来管理自己发布的博文。 除此之外,相对于CSDN和稀土掘金这种现有的博客平台,weblog平台具有让用户可以根据自己的喜好设置自己喜欢的个性主题。技术栈:SpringBoot/MybatisPlus/Caffeine/Redis/RabbitMQ/Elasticsearch/Minio/Quartz

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published