ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

[高并发] - 1.高并发综述

2026/9/23 15:01:06 拓冰建站 浏览量
[高并发] - 1.高并发综述

1. 必备条件

高并发,高性能分布式ID

高并发过滤组件 Bloom FIlter

2. 数据库

(1)不要让mysql干不擅长的工作,例如全文搜索,而是采用对应的nosql来处理;对于擅长的存取数据则能很好胜任;

(2)master/slave 主从架构(1主三从)来分散读压力;

(3)双中心提高可用性(专线可以让两个机房的数据同步延迟在1毫秒内),并且通过路由进一步分散读压力;

(4)分库分表解决数据量压力:十几亿的数据分成1000多张表(每张表的数据在几十万的级别)。

3. 数据平滑迁移

全量同步、增量同步、实时流量灰度切换。

(1)首先,在一个夜黑风高的深夜,流量最小的时候,完成SQL Server到MySQL数据库的全量数据同步。

(2)然受,为了保证数据的无缝切换,采用实时双写的方案。如果写失败,重试三次,如果依然失败,则记日志,然后人工排查原因,解决后,继续双写

(3)通过A/B平台逐步灰度流量,刚开始100%的流量读取SQL Server数据库,然后逐步切流量读取MySQL数据库,先1%,如果没有问题,再逐步放流量,最终100%的流量都走MySQL数据库。

1)在一次查询请求里,通过异步线程,比较SQL Server和MySQL的查询结果是否一致,如果不一致,记日志,再人工检查不一致的原因,直到彻底解决不一致的问题后,再逐步灰度流量。

2)日志监控,看双写是否有问题,看数据比对是否一致等等。

4. ES的双机房方案

5. Redis双中心多集群

更新缓存数据时,双写,只有两个机房的Redis集群都写成功了,才返回成功。查询缓存数据时,机房内就近查询,降低延时。