分类网站怎么做seo模板网免费下载官网
2026/4/6 23:33:29 网站建设 项目流程
分类网站怎么做seo,模板网免费下载官网,经验范围 网站建设,中小企业网站建设报告一、整体系统方案设计 1. 核心业务特性 功能#xff1a;发布#xff08;文字 / 图片 / 视频#xff09;、查看好友朋友圈、点赞 / 评论、删除、权限控制#xff08;屏蔽 / 仅自己可见等#xff09;技术特性#xff1a;高并发#xff08;亿级 DAU#xff09;、读多写少…一、整体系统方案设计1. 核心业务特性功能发布文字 / 图片 / 视频、查看好友朋友圈、点赞 / 评论、删除、权限控制屏蔽 / 仅自己可见等技术特性高并发亿级 DAU、读多写少查看远多于发布、数据量大、实时性中等非强实时、隐私性要求极高2. 系统架构分层微服务拆分用户端接入层NginxLVS应用层发布服务PostService展示服务FeedService互动服务InteractionService权限服务PermissionService中间件层Redis集群MQ队列RocketMQ对象存储OSS存储层MySQL分库分表主从3. 核心流程设计1发布朋友圈流程用户上传媒体图片 / 视频到 OSS获取媒体 URL发布请求经接入层转发到PostService校验内容合规、用户权限写入 MySQL 主库朋友圈主表异步删除该用户的朋友圈列表缓存可选通过 MQ 发送 “发布成功” 通知非核心流程。2查看朋友圈流程用户请求拉取好友朋友圈转发到FeedService调用PermissionService获取该用户的好友列表和屏蔽列表优先从 Redis 缓存拉取好友朋友圈数据缓存未命中则从 MySQL 从库读取再回写缓存对数据做过滤屏蔽用户、权限校验、排序时间倒序、分页后返回。3点赞 / 评论流程请求转发到InteractionService校验好友关系、屏蔽状态写入点赞 / 评论表主库异步调用 Redis 的INCR/DECR更新计数缓存通过 MQ 异步发送点赞 / 评论通知给朋友圈发布者非实时最终一致即可。4. 高可用 高并发优化服务集群化所有微服务部署多实例避免单点故障分库分表按user_id哈希分库分表解决单库性能瓶颈读写分离MySQL 主库写、从库读提升读性能限流降级接入层 / 应用层用令牌桶限流高并发时降级非核心功能如暂时隐藏点赞数隐私校验所有查询流程前置权限校验避免泄露非好友的朋友圈数据。二、缓存方案设计核心目标缓存热点数据减少数据库访问提升响应速度Redis 作为核心缓存。1. 缓存数据结构与 Key 设计缓存数据类型Key 设计数据结构说明用户朋友圈列表feed:user:{user_id}:timelineZSetscore 发布时间戳member 朋友圈 ID支持排序 / 分页单条朋友圈详情feed:post:{post_id}Hash存储内容、媒体 URL、可见范围等朋友圈点赞 / 评论数feed:interaction:{post_id}:like/commentString计数器用 INCR/DECR 更新好友列表 / 屏蔽列表relation:friend:{user_id}/blockSet存储好友 / 被屏蔽用户 ID快速校验权限2. 缓存更新策略发布 / 删除朋友圈先写数据库再删除缓存而非更新缓存避免缓存与数据库不一致缓存更新失败风险点赞 / 评论先写数据库异步调用 RedisINCR/DECR更新计数允许短暂最终一致好友关系变更主动删除对应的好友 / 屏蔽列表缓存下次访问重新加载。3. 缓存异常防护缓存穿透对不存在的user_id/post_id缓存空值过期时间 5 分钟缓存击穿热点朋友圈如大 V 内容设置永不过期发布者删除时主动清理缓存雪崩缓存过期时间打散基础时间 随机 0-60 秒Redis 集群主从 哨兵部署。三、数据库表设计方案核心原则满足第三范式为主适当反范式JSON 存储提升读性能按user_id分库分表。1. 核心表结构设计1朋友圈主表moments_post字段名类型说明post_idbigint主键雪花算法全局唯一user_idbigint发布者 ID分库分表键contenttext文字内容可为空media_listjson媒体 URL 列表图片 / 视频如 [url1,url2]visible_scopetinyint可见范围0 - 全部好友 1 - 仅自己 2 - 指定好友 3 - 不给谁看target_usersjson可见 / 不可见用户列表scope2/3 时非空is_deletedtinyint软删除标记0 - 未删 1 - 已删create_timedatetime发布时间update_timedatetime更新时间索引主键索引post_id、二级索引user_id, create_time按用户 时间拉取2朋友圈点赞表moments_like字段名类型说明like_idbigint主键post_idbigint朋友圈 IDuser_idbigint点赞者 ID分库分表键is_canceledtinyint取消点赞标记0 - 未取消 1 - 已取消create_timedatetime点赞时间索引主键索引like_id、联合索引post_id, user_id防止重复点赞3朋友圈评论表moments_comment字段名类型说明comment_idbigint主键雪花算法post_idbigint朋友圈 IDuser_idbigint评论者 ID分库分表键contentvarchar(512)评论内容reply_to_idbigint回复的评论 ID0 直接评论is_deletedtinyint软删除标记create_timedatetime评论时间索引主键索引comment_id、二级索引post_id, create_time4好友关系表friend_relation字段名类型说明relation_idbigint主键user_idbigint用户 ID分库分表键friend_idbigint好友 IDblock_flagtinyint屏蔽标记0 - 未屏蔽 1 - 已屏蔽create_timedatetime加好友时间索引主键索引relation_id、联合索引user_id, friend_id2. 表设计关键说明软删除所有核心表用is_deleted标记删除避免物理删除导致数据丢失方便恢复分库分表键选择user_id而非post_id因为朋友圈读写均围绕 “用户” 展开减少跨库操作反范式优化media_list/target_users用 JSON 存储避免多表关联提升读效率符合 “读多写少” 特性全局唯一 ID朋友圈 ID / 评论 ID 用雪花算法生成避免分库分表后的主键冲突。总结系统架构按 “发布 / 展示 / 互动 / 权限” 拆分微服务接入层做负载均衡存储层分库分表 读写分离适配亿级用户高并发缓存策略Redis 缓存热点数据朋友圈列表 / 详情 / 计数采用 “先写库后删缓存” 保证一致性通过空值缓存、过期时间打散防护缓存异常数据库设计核心表按user_id分库分表软删除 JSON 反范式优化索引针对 “用户 时间”“朋友圈 ID 用户 ID” 设计兼顾性能和业务需求。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询