微服务架构下如何保障数据一致性?

在微服务场景下如何低成本、高效率的实现数据一致性保障,分布式事务如何监控运维。

跨服务事务一致性缺乏保证
痛点描述
业务进行微服务化改造后交易流程中涉及多个微服务(订单、优惠券、积分、支付),如何确保数据一致性。
方案描述
通过使用分布式事务服务,可协调各个微服务在同一交易链路中的事务同时提交或同时回滚,确保交易数据一致性。
传统方式接入成本过高
痛点描述
在传统 TCC 和补偿模型下需要业务自行实现幂等的反向接口,对于业务方接入分布式事务的成本很高。
方案描述
低成本框架托管模式不感知业务,由框架来实现反向接口,解耦业务的同时,极大地减小了客户端接入成本。
消息发送事务一致性难以保证
痛点描述
在大规模分布式场景下,经常会通过消息队列进行系统交互,业务操作和消息发送状态的不一致会造成业务的不完整。
方案描述
分布式事务服务提供了混合事务场景支持,将各个业务和消息队列进行统一的协调管理,保证状态一致。
分布式事务执行状态不透明
痛点描述
在分布式事务执行过程中,各个参与方的执行过程和执行结果不易观察,对于执行出错的事务分组缺乏运维能力。
方案描述
分布式事务服务事务统计和事务链路图展示和一系列事务运维能力,极大地提高了用户对分布式事务的统计分析能力和运维效率。
整体架构图
核心优势
低成本接入
  • 通过低成本的框架托管模式,只需要一行注解即可接入分布式事务,接入接入效率提高 80%
全面兼容
  • 支持 Spring Cloud、Dubbo、GRPC 等框架
  • 支持 Oracle、Mysql、TiDB、分布式数据库
多模式支持
  • 全面支持 TCC、补偿模式、框架托管模式事务消息、XA 等多种事务模式及混合事务能力
高性能
  • 高性能事务协调器,单节点支持 1200+TPS,并支持弹性水平扩展
热门场景
跨服务事务
  • 业务进行微服务化改造后仍需要保证交易流程中涉及多个微服务(订单、优惠券、积分、支付)数据一致性,通过使用分布式事务服务,可协调各个服务事务同时成功或同时回滚,确保交易数据一致性
事务消息
  • 事务消息在通过消息队列实现应用之间的解耦的同时,又能保证各个应用间数据的最终一致性。系统之间的数据最终一致性可以通过分布式事务消息的异步处理实现,从而最大程度保证系统的处理效率和可用性
混合事务
  • 在大规模分布式场景下,经常会通过消息队列进行系统交互,业务操作和消息发送状态的不一致会造成业务的不完整。分布式事务服务提供了混合事务场景支持,将各个业务和消息队列进行统一的协调管理,保证状态一致
核心功能
事务托管框架模式
事务托管框架模式支持一行注解接入分布式事务,显著降低接入成本
事务消息
支持多种消息中间件:RocketMQ、RabbitMQ、Kafka、 Pulsar
事务运行监控
通过事务调用链路图,提供事务调用关系以及事务具体某一链路的出错信息
事务异常运维
支持对于异常事务进行回查、自动重试、手动重试等运维操作

选择网易轻舟,打造软件生产力平台

免费注册试用