TX-LCN分布式事务框架开发文档
生活随笔
收集整理的這篇文章主要介紹了
TX-LCN分布式事务框架开发文档
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
文檔地址:http://www.txlcn.org/zh-cn/docs/start.html
說明
TX-LCN 主要有兩個模塊,Tx-Client(TC) Tx-Manager?. TC作為微服務下的依賴,TM是獨立的服務。
本教程帶領大家了解框架的基本步驟,詳細配置可參考 dubbo springcloud
一、TM配置與啟動
TM的準備環境
如果需要手動編譯源碼, 還需要Git, Maven, JDK1.8+
TM下載與配置
- # 給出信息都是默認值
關于詳細配置說明見TM配置 - application.properties 加載順序如下:
0、命令行啟動參數指定
1、file:./config/(當前jar目錄下的config目錄)
2、file:./(當前jar目錄)
3、classpath:/config/(classpath下的config目錄)
4、classpath:/(classpath根目錄)
發布的二進制可執行Jar包含一個默認配置文件(也就是4),可按需要覆蓋默認配置 - 手動編譯TM,簡單指引
target文件夾下,即為TM executable jar.
二、TC微服務模塊
微服務示例架構
- 服務A作為DTX發起方,遠程調用服務B
TC引入pom依賴
<dependency><groupId>com.codingapi.txlcn</groupId><artifactId>txlcn-tc</artifactId><version>5.0.2.RELEASE</version> </dependency><dependency><groupId>com.codingapi.txlcn</groupId><artifactId>txlcn-txmsg-netty</artifactId><version>5.0.2.RELEASE</version> </dependency>TC開啟分布式事務注解
在主類上使用@EnableDistributedTransaction
@SpringBootApplication @EnableDistributedTransaction public class DemoAApplication {public static void main(String[] args) {SpringApplication.run(DemoDubboClientApplication.class, args);}}TC微服務A業務方法配置
@Service public class ServiceA {@Autowiredprivate ValueDao valueDao; //本地db操作@Autowiredprivate ServiceB serviceB;//遠程B模塊業務@LcnTransaction //分布式事務注解@Transactional //本地事務注解public String execute(String value) throws BusinessException {// step1. call remote service BString result = serviceB.rpc(value); // (1)// step2. local store operate. DTX commit if save success, rollback if not.valueDao.save(value); // (2)valueDao.saveBackup(value); // (3)return result + " > " + "ok-A";} }TC微服務B業務方法配置
@Service public class ServiceB {@Autowiredprivate ValueDao valueDao; //本地db操作@LcnTransaction //分布式事務注解@Transactional //本地事務注解public String rpc(String value) throws BusinessException {valueDao.save(value); // (4)valueDao.saveBackup(value); // (5)return "ok-B";} }TC配置信息說明
# 默認之配置為TM的本機默認端口 tx-lcn.client.manager-address=127.0.0.1:8070總結
以上是生活随笔為你收集整理的TX-LCN分布式事务框架开发文档的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MySQL计算在线时长(超过2分钟未上传
- 下一篇: Redisson分布式锁实战(适用于Re