襄阳市网站建设_网站建设公司_网站制作_seo优化
2026/1/16 14:23:48 网站建设 项目流程

文章发布

流程 表设计 ID 雪花算法

超过 多数如何分库分表

异步审核-mq信息队列 kafk

文章发布涉及以下几个阶段:前端提交 → 自动审核 → 人工审核/等待发布 → 存储/展示

文章审核

延迟队列 redis-涉及到多线程,需要锁

敏感词系统

本地-阿里-人工

状态机-状态

定时任务-扫描错误

接口超时,人工审核超时-阿里云审核超时等处理

保底处理

定时任务扫描审核异常文章

接口超时处理:

  • 阿里云审核接口超时

  • 人工审核超时

触发重试逻辑或人工提醒

minio+freemaker

MinIO 用于存储文章大文本、图片、附件

Freemarker 用于动态生成文章HTML模板

ES

ElasticSearch(ES)索引文章,支持搜索功能

发布流程与ES索引无耦合,异步更新

ID分库分表
CREATE TABLE user ( id BIGINT UNSIGNED NOT NULL AUTO_INCREMENT COMMENT '自增主键', uuid CHAR(36) NOT NULL COMMENT '全局唯一标识,适用于分库分表', ) ​

不想多少,见架构设计,同时这个还可以干啥呢

还可以冷热分离数据

因为某些文章基本这辈子不看了

高热表(最近一月或一周文章)放在主库或热点库;冷表(历史文章)放在只读从库。

按文章ID hash 或时间戳分表

读写分离

  • 主库负责写入和热点读取。

  • 从库负责历史数据查询。

冷热分离实现

  • 热数据:最新文章/活跃文章 → 主库 + 缓存(Redis)

  • 冷数据:历史文章 → 从库或归档库

  • SQL查询可结合路由策略:

  • 归档策略

  • 对超过一定时间的数据,进行归档到专门的历史库,降低主库压力。

  • if(article_date > 最近一月) query 主库 else query 从库

  • 自增主键:插入数据总是追加到叶子节点末尾 → 数据连续 → 插入性能高、页分裂少。

  • 非自增(Snowflake ID):插入数据随机 → 容易导致 B+ 树页分裂 → 插入性能略低。

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

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

立即咨询