最近在学习分布式架构,别的基本搞懂了,数据库这块是怎样搞?我一直用的mysql,就拿mysql来说比如我现在有A,B两个数据库,server根据负载均衡有可能写入A或者写入B疑问主要是数据库是怎样同步的,我知道mysql有个主从数据库同步的功能,但是那个及时性怎样呢?比如某客户端往数据库A里面插入了1条数据,然后该客户端掉线了,重连,这时候他重做了一遍操作,恰好这次他插入到B数据库,而这时候A,B两个数据库还没来得及同步,这岂不是有2条重复数据了?请问有经验的大侠说一下这一块通常情况是怎样搞的?或者说我说的这种架构是错的,通常采用别的办法而不是多个数据库来分担负载?
2 回答
萧十郎
TA贡献1815条经验 获得超13个赞
你说的这个在MySQL里不是主从,而是双主(因为一会儿写A,一会儿写B),主从的意思是写永远都写主,再异步同步到从。实际项目中一般不用双主(可靠性和可维护性不如主从),主从的应用却很广泛,而且一般主从也够了,因为主从模式已经很好的分担掉读操作,大部分应用都是写少读多,从我个人的经验,不建议使用MySQL的多主。
郎朗坤
TA贡献1921条经验 获得超9个赞
正式场合的分布式数据库是不会随机选择分区存储数据的,而是按照哈希算法存到对应的数据库里,例如有0-3四个数据库,存数据的的时候按照uid%4来存到对应的数据库分区去,出错了的话重试的时候也不会变
添加回答
举报
0/150
提交
取消