解决硬盘冗余错误解决方法 数据冗余可能导致的问题( 二 )


四 , 线下异步双写
为了屏蔽“冗余数据”对服务带来的复杂性 , 数据的双写不再由服务层来完成 , 而是由线下的一个服务或者任务来完成 , 如上图1-6流程:
业务方调用服务 , 新增数据服务先插入T1数据服务返回业务方新增数据成功数据会被写入到数据库的log中线下服务或者任务读取数据库的log线下服务或者任务插入T2数据优点:
数据双写与业务完全解耦请求处理时间短(只插入1次)缺点:
返回业务线数据插入成功时 , 数据还不一定插入到T2中 , 因此数据有一个不一致时间窗口(这个窗口很短 , 最终是一致的)数据的一致性依赖于线下服务或者任务的可靠性五 , 总结
互联网数据量大的业务场景 , 常常:
使用水平切分来降低单库数据量使用数据冗余的反范式设计来满足不同维度的查询需求使用服务同步双写法能够很容易的实现数据冗余为了降低时延 , 可以优化为服务异步双写法为了屏蔽“冗余数据”对服务带来的复杂性 , 可以优化为线下异步双写法文章自:58沈剑架构师之路

猜你喜欢