根据业务特性,首要做好交易类应用的架构设计,其中特别关注数据库的技术选型和部署架构。譬如选择分布式数据库,可在特定场景使用分布式数据库的分布式事务能力。
如果交易类应用的数据量非常大,在架构设计时需要进行水平拆分,进行切片分库处理,即将业务数据切分为若干分片,每份切片数据只存贮在一个数据库分库中,通过分库处理来提高吞吐量。 数据访问时需要设计好数据切片路由。
做好应用架构设计,严禁跨数据库事务,只在特定场景下,谨慎使用分布式事务。譬如业务服务拆分解耦下,在保护资金安全场景可以使用TCC(Try, Confirm, Cancel)事务。 在支持补偿操作的业务场景,例如客户账户扣款,可以使用Saga事务。
收起