怎么解决冗余更新问题?
1.服务同步双写,业务方调用服务,服务先插入T1在插入T2返回插入成功。 优点:逻辑简单,一致性高。缺点:处理时间增加,数据有可能不一致
2.服务异步双写,业务方调用服务,服务先插入T1,服务异步发出一个消息MQ,kafla调用另一个专门的服务来写入冗余数据 优点:请求处理时间短
缺点:增加了业务复杂度,消息可能会丢失,有一个时间窗口还未收到信息 数据还是不一致。
3.线下异步双写,业务方调用服务,服务先插入T1,返回插入成功,数据会被写入到log表中,线下服务读取log表进行更新。
优点:数据双写跟业务解耦,请求处理时间短
缺点:不一致窗口,数据的一致性依赖线下的可靠性。