84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
mysql读写分离时如果单台写库也无法满足性能怎么解决,是用多台数据库来写吗?那怎么做数据同步和保证数据一致性?
你可以试试缓存,后台设置数据入库的时候,直接设置到redis里面,然后再去同步数据库。前台取数据的时候直接去redis里面拿。个人建议,仅供参考
redis
当读写分离都无法满足性能时,通常用水平拆分来解决:
主1 - 从1.1、从1.2、从1.3 主2 - 从2.1、从2.2、从2.3 ...
另外,读写分离无法保证数据一致性,例如用户刚注册完就去登录,如果登录读的是从库,那么当用户刚注册完就去登录,但注册数据还来不及同步到从库时,登录就会失败。
反而单纯的水平拆分不会有数据不一致的问题,因为一条用户数据总是落在一个分区里的。
你可以试试缓存,后台设置数据入库的时候,直接设置到
redis
里面,然后再去同步数据库。前台取数据的时候直接去redis
里面拿。个人建议,仅供参考当读写分离都无法满足性能时,通常用水平拆分来解决:
另外,读写分离无法保证数据一致性,例如用户刚注册完就去登录,如果登录读的是从库,那么当用户刚注册完就去登录,但注册数据还来不及同步到从库时,登录就会失败。
反而单纯的水平拆分不会有数据不一致的问题,因为一条用户数据总是落在一个分区里的。