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
先买家,再写卖家

网友评论