问题 7:云原生架构对交易一致性如何应对?
人们希望像使用单机系统一样使用分布式系统, 因此不可避免的需要面对 “分布式一致性” 问题。
云原生中微服务中“微”代表了服务颗粒度变小,而金融交易的复杂性又相对较大。所以 在云原生系统的数据一致性是一个相对复杂的问题,不同微服务中独立的数据存储,使得维护 数据的一致性变得困难。由于分布式微服务系统中的网络错误不可避免,基于 CAP 定理,当 出现网络分区时,就需要云原生架构能够在一致性和可用性之间进行平衡。
所以金融级云原生架构规划时,也会遇到金融业务对一致性的挑战,这种一致性不仅体现 在业务逻辑上(TCC、SAGA、XA 事务、消息队列等),也更多地需要在数据层面上一致性 保障(多节点一致性、多中心一致性)。