TX-LCN分布式事务框架开发文档
生活随笔
收集整理的這篇文章主要介紹了
TX-LCN分布式事务框架开发文档
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
文檔地址:http://www.txlcn.org/zh-cn/docs/start.html
說(shuō)明
TX-LCN 主要有兩個(gè)模塊,Tx-Client(TC) Tx-Manager?. TC作為微服務(wù)下的依賴,TM是獨(dú)立的服務(wù)。
本教程帶領(lǐng)大家了解框架的基本步驟,詳細(xì)配置可參考 dubbo springcloud
一、TM配置與啟動(dòng)
TM的準(zhǔn)備環(huán)境
如果需要手動(dòng)編譯源碼, 還需要Git, Maven, JDK1.8+
TM下載與配置
- # 給出信息都是默認(rèn)值
關(guān)于詳細(xì)配置說(shuō)明見(jiàn)TM配置 - application.properties 加載順序如下:
0、命令行啟動(dòng)參數(shù)指定
1、file:./config/(當(dāng)前jar目錄下的config目錄)
2、file:./(當(dāng)前jar目錄)
3、classpath:/config/(classpath下的config目錄)
4、classpath:/(classpath根目錄)
發(fā)布的二進(jìn)制可執(zhí)行Jar包含一個(gè)默認(rèn)配置文件(也就是4),可按需要覆蓋默認(rèn)配置 - 手動(dòng)編譯TM,簡(jiǎn)單指引
target文件夾下,即為TM executable jar.
二、TC微服務(wù)模塊
微服務(wù)示例架構(gòu)
- 服務(wù)A作為DTX發(fā)起方,遠(yuǎn)程調(diào)用服務(wù)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開(kāi)啟分布式事務(wù)注解
在主類上使用@EnableDistributedTransaction
@SpringBootApplication @EnableDistributedTransaction public class DemoAApplication {public static void main(String[] args) {SpringApplication.run(DemoDubboClientApplication.class, args);}}TC微服務(wù)A業(yè)務(wù)方法配置
@Service public class ServiceA {@Autowiredprivate ValueDao valueDao; //本地db操作@Autowiredprivate ServiceB serviceB;//遠(yuǎn)程B模塊業(yè)務(wù)@LcnTransaction //分布式事務(wù)注解@Transactional //本地事務(wù)注解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微服務(wù)B業(yè)務(wù)方法配置
@Service public class ServiceB {@Autowiredprivate ValueDao valueDao; //本地db操作@LcnTransaction //分布式事務(wù)注解@Transactional //本地事務(wù)注解public String rpc(String value) throws BusinessException {valueDao.save(value); // (4)valueDao.saveBackup(value); // (5)return "ok-B";} }TC配置信息說(shuō)明
# 默認(rèn)之配置為TM的本機(jī)默認(rèn)端口 tx-lcn.client.manager-address=127.0.0.1:8070總結(jié)
以上是生活随笔為你收集整理的TX-LCN分布式事务框架开发文档的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: MySQL计算在线时长(超过2分钟未上传
- 下一篇: Webpack安装、打包过程及开发过程超