ESB事务管理是在不同的事务环境下提供一个整合不同的事务环境,提供一个相对快速和安全的分布式事务的能力。
ESB事务管理中应该有一个事务中心,所有的事务的上下文都会注册到事务中心,这个事务中心,事务中心是可以允许事务的嵌套的,ESB中如果去调用其它服务时,如果这个服务有配置事务,那么它就会被当作一个子事务来注册到事务管理中心去。当事务的发起方进行提交时,事务管理中心会统一的对其子事务进行提交。
如果用户可以使用ESB的endpoint,那么,我建议在endpoint嵌入TCC事务架构。如果用户使用的事务协调架构时,我们应当去监听事务协调架构的几个事件,当事务开始时,我们要给把事务注册到事务中心去。这样,如果用户把交了,可以把事务中心中的当事务下的所有子事务都提交。
这种事务中心的事务管理器,我觉得应该是ESB中比较合适事务管理方式,他不能处理在一个事务节点失效这些的事务的特殊情况。
我觉得自己还没有很全面的去考虑实现的方式,这里只是一个不是很成熟的想法,也没有去仔细的去细化,ESB的事务管理器非常的复杂,有些ESB的产品也没有提供相关的能力,对于ESB来说,也不是一个非常迫切的功能。
ESB产品架构之事务管理 (11)
内容版权声明:除非注明,否则皆为本站原创文章。