美文网首页
(7)分库分表<架构解决方案>

(7)分库分表<架构解决方案>

作者: hedgehog1112 | 来源:发表于2020-12-05 11:54 被阅读0次

sharding:提升db并行处理能力,解决搜索瓶颈    cluster:db集群,只是扩展并行处理能力

1.常用中间件:

tddl,sharding-jdbc  二八法则:80%读,20%写

    1)基于代理:更灵活        2)应用集成:直连db,读写高出10-20%

2.分库分表影响

join如何用,无法用外键约束,全局唯一id和连续性id

3.主备切换

    1)基于配置中心:spring ioc启动时,与zk建立会话连接,将数据源加载到本地

    2)基于keepalived:m 宕机,s没切到m,短暂不可用,写请求进来,造成数据丢失怎么办?缓存对db做补偿。或写到mq中,待消费再写到db

4、主备间强制数据同步(半同步复制)

    s收binlog,m才算完成事务,流量大时会影响tps

    5.6后有GTID,保证一致,m宕机重启后,作为s存在

5、订单冗余表(买卖家)

双写:同步+异步

1)2-5:优先写到买家表,立即写到mq中,卖家同理。

2)线上检测补偿:消费买家,没在窗口期(默认2s)收到卖家消息,认为不一致。

3)db要幂等,不包含哪里,补偿哪里(买/卖家)

6、binlog增量同步

canal工作原理:伪装成s,3像m发dump请求,4解析binlog

先买家,再写卖家

相关文章

网友评论

      本文标题:(7)分库分表<架构解决方案>

      本文链接:https://www.haomeiwen.com/subject/gtgvwktx.html