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