读写分离架构能够消除读写锁锁冲突从而提升数据库的读写性能。使用读写分离架构时,数据库主从同步具有延迟性,数据一致性会有影响,对于一些实时性要求比较高的操作,可以采用以下解决方案。
(1)写后立刻读
写入数据库后,某个时间段内读操作就去主库,之后读操作访问从库
(2)二次查询
先去从库读取数据,找不到时候就去主库进行读取数据。该操作容易将读压力返还给主库,为了避免恶意攻击,建议对数据库访问API操作进行封装,有利于安全和低耦合。
(3)根据业务特殊处理
根据业务特点和重要程度进行调整,比如重要的,实时性要求比较高的业务数据读写可以放在主库。对于次要的业务,实时性要求不高的可以进行读写分离,查询时去从库查询。