|
|
@@ -16,21 +16,20 @@
|
|
|
|
|
|
- 使用无状态的jwt进行鉴权
|
|
|
- 使用Spring Security实现权限控制,解决HTTP无状态的缺陷
|
|
|
-- 使用ThreadLocal存储用户数据,代替Session,便于分布式部署
|
|
|
- 使用Redis集合数据类型解决踩赞、相互关注功能,保证数据正确性。使用Redis的ZSet保存关注列表
|
|
|
-- Redis的HyperLogLog存储每日UV、Bitmap存储DAU,实现网站数据统计
|
|
|
+- 使用字典树优化敏感词过滤的时间复杂度
|
|
|
- 使用Kafka作为消息队列,实现系统通知和解耦
|
|
|
-- 使用Elasticsearch + IK分词插件实现全局搜索功能
|
|
|
-- 使用分布式定时任务Quartz定时计算帖子分数,实现热帖排行
|
|
|
-- Caffeine本地缓存 + Redis分布式缓存的多级缓存,提高服务器性能
|
|
|
|
|
|
## TODO
|
|
|
- 使用布隆过滤器屏蔽拉黑的ip下载应用
|
|
|
- 使用Redis实现一致性哈希算法,使用Redis的ZSet实现用户综合评分
|
|
|
- 使用kafka收集用户下载app量,使用kafka解耦构建流水线,当流水线构建完毕时通过kafka将消息通知到邮箱
|
|
|
- 使用kafka+themeleaf实现订阅app更新功能
|
|
|
-- 加快下载速度,断点
|
|
|
--
|
|
|
+- 加快下载速度,断点续传
|
|
|
+- Redis的HyperLogLog存储每日UV、Bitmap存储DAU,实现网站数据统计
|
|
|
+- 使用Elasticsearch + IK分词插件实现全局搜索功能
|
|
|
+- 使用分布式定时任务Quartz定时计算帖子分数,实现热帖排行
|
|
|
+- Caffeine本地缓存 + Redis分布式缓存的多级缓存,提高服务器性能
|
|
|
|
|
|
## 评论点赞设计
|
|
|
- 用Redis的set结构存储点赞情况,key:postId,value:set<userId>
|