金融业务场景,分布式数据库一个事物的数据分别在不同的数据库,如何实现事物一致性控制?

金融业务场景,假如分布式数据库一个事物的数据分别在不同的数据库,如何实现事物一致性控制?通过数据库层还是应用层进行控制?应用层如何实现?如果数据库层控制的话如何控制?

参与9
  • atomikos是分布式数据自带的软件,还是类似应用层的软件来完成分布式事务的处理
    2019-09-16
  • 这是spring中的一个组件,应用层的软件来完成分布式事务的处理
    2019-09-16

2同行回答

顾黄亮顾黄亮  技术总监 , 畅销书作者
你想问的应该是,多数据源情况下事务一致性问题,如果不是,请另补充简单说一下解决办法:(1) 配置多个数据源,不同的 sessionFactory控制,在dao层根部不同的业务场景和需求路由到相应的数据源(2)dao层可进行封装,将不同的sql sessionFactory注入到 sessionFactory,建立session对象,这样da...显示全部

你想问的应该是,多数据源情况下事务一致性问题,如果不是,请另补充
简单说一下解决办法:(1) 配置多个数据源,不同的 sessionFactory控制,在dao层根部不同的业务场景和需求路由到相应的数据源(2)dao层可进行封装,将不同的sql sessionFactory注入到 sessionFactory,建立session对象,这样dao就实现基于basedao的集成(3)最关键的是一个事务涉及多个数据源,当异常需要回滚(4)接着3继续说,service添加事务发生异常,A库进行回滚,B库没有回滚怎么办,通过分布式事务,atomikos来处理

收起
银行 · 2019-09-11
浏览1583
508mars508mars  数据库管理员 , 华泰证券
数据库层控制:一般会由数据库计算节点通过“两阶段提交+悲观锁/乐观锁”来实现跨节点事务一致性,其中还涉及到全局事务id等概念。应用层控制:两阶段提交、本地消息表、TCC补偿模式等,百度上有很多介绍。...显示全部

数据库层控制:一般会由数据库计算节点通过“两阶段提交+悲观锁/乐观锁”来实现跨节点事务一致性,其中还涉及到全局事务id等概念。
应用层控制:两阶段提交、本地消息表、TCC补偿模式等,百度上有很多介绍。

收起
证券 · 2019-09-17
浏览1405

提问者

lxpeng163
项目经理哈尔滨银行
擅长领域: 服务器云计算数据库

问题来自

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2019-09-10
  • 关注会员:3 人
  • 问题浏览:2801
  • 最近回答:2019-09-17
  • X社区推广