分库分表只解决了容量的问题,并没有解决写服务的高可用问题
读服务里,可以采用数据冗余来保障架构的高可用
写冗余需要有满足 CAP 原则的存储支持,而我们知道,CAP 原则最多只能同时满足两个特性,要么 CP 要么 AP
写入业务的目标是成功写入
存储依然使用分库分表,但写入规则则发生了一些变化。它不再按固定路由进行写入,而是根据当前实时可用的数据库列表进行随机(如顺序轮流)写入。如果某一台数据库出现故障不可用后,则把它从当前可用数据库列表移除。如果数据库大面积不可用,可用列表中的数据库变少时,你可以适当地扩容一些数据库资源,并将它添加至当前可用的数据列中。因为此架构可以实现随时切换问题数据库、随时低成本扩容数据库,故又称它为无状态存储架构设计。
-
第一部分是前面讲述的数据随机写入模块,它保证了在故障时数据依然可以写入。
-
第二部分则是数据同步模块,它将数据从随机写入的数据库集群实时地同步至分库分表集群里。后续的所有流程,都和原有的保持一致了。
对于重复同步,在分库分表处可以设置数据库唯一索引、插入前查询进行简单防重即可。
标签:状态,存储,分库,可用,数据库,写入,分表 From: https://www.cnblogs.com/jiaozg/p/17191226.html