假设java中一个方法(一个事务)里,先写后读,那么读操作是否能够读到新数据,是读主库还是备库上的数据? 架构场景1,主库只写,备库只读; 架构场景2,主库可读可写,备库可读; 这两个场景分别会如何?
在读写分离架构中,数据同步的方式时强事务一致的。即主库执行变更后,会等备库先完成变更,主库才能完成提交。 这样能保证备库的和主库的事务是一致的。所以无论读那个库,事务是一样的。
如果是一个事务里面的话,遇到写操作之后的读操作也都会在主库完成。
《DM8数据守护与读写分离集群V4.0》手册里面会有介绍的,先到备库执行,你这个场景下因为备库只读写操作失败,所以整个事务会发到主库执行,查询的都是主库的数据,是最新的。
在读写分离架构中,数据同步的方式时强事务一致的。即主库执行变更后,会等备库先完成变更,主库才能完成提交。
这样能保证备库的和主库的事务是一致的。所以无论读那个库,事务是一样的。