浅尝分布式事务

理论学习:

  DTP:DTP全称是Distributed Transaction Process,即分布式事务模型。主要涉及了三个对象:       

      AP(Application Program):应用程序

      TM(Transaction Manager):事务管理器。负责协调和管理事务

      RM(Resource Manager):资源管理器。可以理解为数据库或者JMS。

  他们三者的关系:

     AP通过TM来操作多个RM,AP也可以通过RM的本地事务接口来操作单个RM

     TM和RM可以互相通信,他们之前的通信协议就是XA协议

 

   TA:This is the interface between theTM and the RM in an X/Open DTP system.The X/Open DTP model envisages interfaces between each of the AP, RM, and TM.Generally, each use of the XA interface is prompted by the AP calling the TM or the RM.

   

          XA是由X/Open组织提出的分布式事务的规范。XA规范主要定义了(全局)事务管理器(Transaction Manager)和(局部)资源管理器(Resource Manager)之间的接口。XA接口是双向的系统接口,在事务管理器(Transaction Manager)以及一个或多个资源管理器(Resource Manager)之间形成通信桥梁。XA之所以需要引入事务管理器是因为,在分布式系统中,从理论上讲(参考Fischer等的论文),两台机器理论上无法达到一致的状态,需要引入一个单点进行协调。事务管理器控制着全局事务,管理事务生命周期,并协调资源。资源管理器负责控制和管理实际资源(如数据库或JMS队列)。

        JTA:JTA (Java Transaction API) defines the interfaces for Java applications to interact with the platform-specific transaction manager. Like most APIs in Java, JTA allows for different implementations that offer the same interface towards the application. This implies that you can write transactional Java applications that do not depend on any particular transaction manager vendor (if you adhere to the API that is). Some vendors like Atomikos® offer their implementation in open source, whereas other vendors (like IBM) offer an implementation as part of their application server.

        作为Java平台上事务规范JTA(Java Transaction API)也定义了对XA事务的支持,实际上,JTA是基于XA架构上建模的,在JTA 中,事务管理器抽象为javax.transaction.TransactionManager接口,并通过底层事务服务(即JTS)实现.

主要2个大包的内容:

   javax.transaction

   javax.transaction.xa 

 AP:我们的应用程序

 TM:即javax.transaction.TransactionManager 事务管理器 

 RM:即javax.transaction.xa.XAResource 我称之为与资源管理器的一个通信代表,我们通过XAResource接口方法和资源管理器进行通信

Atomikos:

Atomikos TransactionsEssentials's documentation and literature on the internet show that it is a production quality implementation, which also supports recovery and some exotic features beyond the JTA API. Atomikos provides out-of-the-box Spring integration along with some nice examples. It also provides support for pooled connections for both database and JMS resources.


附上我这两天写的一个小demo







内容概要:该研究通过在黑龙江省某示范村进行24小时实地测试,比较了燃煤炉具与自动/手动进料生物质炉具的污染物排放特征。结果显示,生物质炉具相比燃煤炉具显著降低了PM2.5、CO和SO2的排放(自动进料分别降低41.2%、54.3%、40.0%;手动进料降低35.3%、22.1%、20.0%),但NOx排放未降低甚至有所增加。研究还发现,经济性和便利性是影响生物质炉具推广的重要因素。该研究不仅提供了实际排放数据支持,还通过Python代码详细复现了排放特征比较、减排效果计算和结果可视化,进一步探讨了燃料性质、动态排放特征、碳平衡计算以及政策建议。 适合人群:从事环境科学研究的学者、政府环保部门工作人员、能源政策制定者、关注农村能源转型的社会人士。 使用场景及目标:①评估生物质炉具在农村地区的推广潜力;②为政策制定者提供科学依据,优化补贴政策;③帮助研究人员深入了解生物质炉具的排放特征和技术改进方向;④为企业研发更高效的生物质炉具提供参考。 其他说明:该研究通过大量数据分析和模拟,揭示了生物质炉具在实际应用中的优点和挑战,特别是NOx排放增加的问题。研究还提出了多项具体的技术改进方向和政策建议,如优化进料方式、提高热效率、建设本地颗粒厂等,为生物质炉具的广泛推广提供了可行路径。此外,研究还开发了一个智能政策建议生成系统,可以根据不同地区的特征定制化生成政策建议,为农村能源转型提供了有力支持。
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值