2026/1/11 6:34:49
网站建设
项目流程
响应式网站建设价位,wordpress允许上传rar,淮安做网站公司,wordpress 畅言 右下角链接一、高可用方案#xff08;HA, High Availability#xff09;缓存高可用#xff1a;通过双写和双读主备#xff0c;或利用缓存集群的数据同步与故障自动转移机制实现。数据库高可用#xff1a;读高可用#xff1a;通过读写分离#xff08;如MHA…一、高可用方案HA, High Availability缓存高可用通过双写和双读主备或利用缓存集群的数据同步与故障自动转移机制实现。数据库高可用读高可用通过读写分离如MHA及分库冗余实现。写高可用通过主从双备结合keepalived与虚拟IP实现自动故障转移。二、高并发方案根据业务读写特点选择架构读多写少、读并发高采用主从分离。写并发高采用水平分库。读写并发均高先进行水平分库再为每个分库部署主从集群。此外可使用缓存缓解读并发压力。2.1 读写分离、主从复制与分组架构三者指同一架构模型即主从复制AB复制将主库数据复制到一个或多个从库主库负责写从库负责读通常为一主多从。在高可用场景中常简称为MHA。2.1.1 优势支持更大读并发与吞吐量提升读性能写库独立提升写性能。读写库分离减少锁冲突优化写性能。通过从库冗余实现“读高可用”。易于扩展增加从库可显著提升读性能。2.1.2 MySQL主从复制过程异步Master开启binlog记录数据变更。Slave的IO线程向Master请求指定binlog及position之后的内容。Master的IO线程返回对应binlog内容及position。Slave将binlog写入relay-log并创建master.info文件记录连接信息。Slave的SQL线程监控relay-log解析并执行SQL实现数据同步。2.2 分库分表2.2.1 水平切分分片架构目标线性提升写性能降低单库数据量解决数据量大导致的写瓶颈。常见方案范围法优点保持数据顺序精准控制数据量易于扩展。缺点负载可能不均衡如新用户更活跃。哈希法优点数据与请求分布均衡。缺点扩展时需数据迁移一致性哈希可缓解此问题。哈希范围混合分片折中方案均衡数据与请求分布。2.2.2 垂直切分垂直分表将低频或大字段拆分到扩展表提升内存命中率与IO性能。垂直分库按业务拆分库降低单库数据量需结合业务可行性。2.3 读写分离与分库分表结合结合两者以进一步提升性能但架构复杂度较高。三、常见问题与解决方案3.1 读写分离与水平分库的区别数据量主从分离各节点存全量数据水平分库各节点存部分数据1/n。目标主从分离扩展读性能水平分库扩展写性能。场景读多写少用主从写多用分库读写均高则先分库再主从。3.2 主从分离的问题写节点单点风险需通过主从双备keepalived虚拟IP实现高可用。3.3 数据库架构选型初期单库。读压力大分组主从。数据量大分片水平分库。属性访问频次高垂直拆分。3.4 水平切分分库 vs. 分表优先分库避免磁盘IO竞争易于扩展与迁移。3.5 瞬时高并发处理通过MQ消息队列削峰填谷。3.6 分库后的业务接入与数据访问通过代理切换数据源业务层无感知。数据访问层需处理分片路由与数据聚合可引入数据库中间件简化。3.7 非Partition Key查询处理全库扫描效率低但可并发优化。索引法建立映射表或缓存如用户名映射主键。基因法通过非Key属性生成分片位如用户名生成分片基因。直接生成主键风险为ID冲突需确保均匀分布。3.8 多非Partition Key查询对不可修改字段使用基因法其他用索引法。3.9 Partition Key批量查询法一访问所有库合并结果。法二按路由规则只访问相关分片。3.10 跨库分页与模糊查询跨库分页为业界难题有多种方案。模糊查询或范围查询可借助ES等搜索引擎。3.11 分库数据量与唯一主键数据量建议无复杂查询时5千万–1亿条有复杂查询时1千万–2千万条。唯一主键通过分布式ID生成器实现。3.12 主从架构中的多主多从建议一主多从若写瓶颈可水平分库每分片部署主从。多主多从需确保数据全量同步避免数据不一致。3.13 缓存的作用缓存高频、低频变数据降低数据库压力提升响应速度。3.14 主从切换数据丢失与避免丢数据风险主库未完全同步时宕机。脑裂导致老主库仍接收写入。恢复通过备份的binlog人工恢复。避免使用双主热备keepalived。切换前设置主库只读。3.15 单库重启与连接管理重启通过redo log恢复数据不丢数据。切换时可配置是否断开连接如MHA可通过脚本控制。3.16 分库分表依据单表数据量大导致SQL延迟高分表。实例QPS达到上限、锁冲突严重分库。3.17 主从Binlog同步方式备库指定起始binlog位置后主库主动推送新日志基于长连接。