数据应用服务的设计主要是提供数据调用接口消费数据,可以进行服务消费模式和场景进行横向扩展。
1 应用数据消费的三种模式
数据双向复制在业务压力较大时,因为源端的写入是采用了并发多线程写入模式,在目标端消费为了保证数据一致性,默认情况下是需要串行执行的,在保证数据一致性的同时,因为消费处理是基于单线程模式,很可能会出现较大的数据延迟。
对于目标端数据消费,基于MySQL自动提交的模式,会默认存在事务,在设计时主要基于如下三种消费模式:
1)事务基于单表
2)事务基于多表
3)大事务
2 事务消费的流程图
流程图如下,在回路的设计上还需要再微调一版。
3 应用服务分布式设计
应用服务的部署架构类似下面的形式,主要面向单表事务和大事务场景,可以根据服务情况进行扩展。
其实看起来很简单的消费,里面的门道有很多,从设计阶段就能看到坑应该不少。