首页 星云 工具 资源 星选 资讯 热门工具
:

PDF转图片 完全免费 小红书视频下载 无水印 抖音视频下载 无水印 数字星空

分布式事务txlcndemo.zip

行业研究 13.85KB 23 需要积分: 1
立即下载

资源介绍:

分布式事务txlcndemo
# springboot + dubbo + txlcn 分布式事务demo #### 一、首先springboot集成dubbo 1、结构示例 ``` project | |->api | |->bank(被调用方) alice 在银行的账户 | |->people(调用方) alice 钱包的金额 ``` 2、dubbo依赖 ``` com.alibaba.boot dubbo-spring-boot-starter 0.2.0 ``` 2.1、在项目的启动类加入以下注解在可以 ``` @EnableDubbo ``` 3、配置文件配置,bank和people同样配置,name要不一样 ``` dubbo.application.name=dubbo-people demo.service.version=1.0.0 dubbo.protocol.name=dubbo dubbo.protocol.port=20880 # 192.168.223.160 为zookeeper服务器IP dubbo.registry.address=zookeeper://192.168.223.160:2181 dubbo.consumer.timeout=5000 # dubbo新版对qos重新构建,所以不配置可能会出现 java.net.BindException: Address already in use: bind dubbo.application.qos-enable=false ``` 3.1、dubbo调用方和被调用方service中的注解 ``` # dubbo调用方 @Reference(version = "${demo.service.version}") private DepositWithdrawService depositWithdrawService; # dubbo被调用方注解 @Service(version = "${demo.service.version}") public class BankService implements DepositWithdrawService { } # DepositWithdrawService 来自api模块 ``` 4、zookeeper单机服务搭建 ``` cd /opt wget https://archive.apache.org/dist/zookeeper/zookeeper-3.4.5/zookeeper-3.4.5.tar.gz tar -zxvf zookeeper-3.4.5.tar.gz cd zookeeper-3.4.9/conf/ cp zoo_sample.cfg zoo.cfg # 配置环境变量 vim /etc/profile # 下滑到最下方,加入以下配置 export ZOOKEEPER_HOME=/opt/zookeeper-3.4.5 export PATH=.:$ZOOKEEPER_HOME/bin:$JAVA_HOME/bin:$PATH # 使环境生效 source /et/profile # 启动zookeeper cd /opt/zookeeper-3.4.5/bin zkService.sh start # 查看启动状态 zkService.sh status # 如果出现以下为启动成功 JMX enabled by default Using config: /opt/zookeeper-3.4.5/bin/../conf/zoo.cfg Mode: standalone ``` #### 二、集成txlcn [TX-LCN官方文档](http://www.txlcn.org/zh-cn/docs/start.html) TX-LCN 主要有两个模块,Tx-Client(TC) Tx-Manager(TM). TC作为微服务下的依赖,TM是独立的服务。 1、启动Tx-Manager(TM)服务 1.1、TM启动需要一个数据库 ``` CREATE DATABASE /*!32312 IF NOT EXISTS*/`tx-manager` /*!40100 DEFAULT CHARACTER SET utf8 */; USE `tx-manager`; /*Table structure for table `t_tx_exception` */ DROP TABLE IF EXISTS `t_tx_exception`; CREATE TABLE `t_tx_exception` ( `id` bigint(20) NOT NULL AUTO_INCREMENT, `group_id` varchar(64) DEFAULT NULL, `unit_id` varchar(32) DEFAULT NULL, `mod_id` varchar(128) DEFAULT NULL, `transaction_state` tinyint(4) DEFAULT NULL, `registrar` tinyint(4) DEFAULT NULL, `remark` varchar(4096) DEFAULT NULL, `ex_state` tinyint(4) DEFAULT NULL COMMENT '0未解决 1已解决', `create_time` datetime DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; ``` 1.2、首先到下载TM项目 ``` # 下载项目 codingapi/tx-lcn # 编译jar包 mvn clean install -Dmaven.test.skip=true ``` 1.3、修改txlcn-tm配置文件内容 ``` spring.application.name=TransactionManager server.port=7970 spring.datasource.driver-class-name=com.mysql.jdbc.Driver spring.datasource.url=jdbc:mysql://127.0.0.1:3306/tx-manager?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=123 spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect spring.jpa.hibernate.ddl-auto=update # TxManager Host Ip tx-lcn.manager.host=127.0.0.1 # TxClient连接请求端口 tx-lcn.manager.port=8070 tx-lcn.manager.admin-key=123456 # 心跳检测时间(ms) tx-lcn.manager.heart-time=15000 # 分布式事务执行总时间 tx-lcn.manager.dtx-time=30000 #参数延迟删除时间单位ms tx-lcn.message.netty.attr-delay-time=10000 tx-lcn.manager.concurrent-level=128 # 开启日志 tx-lcn.logger.enabled=true logging.level.com.codingapi=debug #redisIp #spring.redis.host=127.0.0.1 #redis端口 #spring.redis.port=6379 #redis密码 #spring.redis.password= ``` 1.4、启动txlcn-tm ``` cd txlcn-tm ->Run TMApplication ``` 2、Tx-Client(TC)配置 2.1、加入依赖 ``` com.codingapi.txlcn txlcn-tc 5.0.2.RELEASE com.codingapi.txlcn txlcn-txmsg-netty 5.0.2.RELEASE ``` 2.2、在项目启动类加入注解 ``` @EnableDistributedTransaction ``` 2.3、在项目的调用方的service中使用以下注解 ``` @LcnTransaction ``` 2.4、在项目的被调用方的service中使用以下注解、 ``` @TxTransaction ``` #### 三、测试代码 在调用方的service的代码中手动写入异常 int s = 1/0;然后调用调用方controller接口,查看被调用方事务是否回滚,如果回滚则成功 免责声明: 1.本资源仅供学习和交流使用,不保证其准确性、完整性、及时性或适用性。 2.本资源仅包含一般信息,不构成专业建议。在使用本资源时,请务必自行研究并谨慎决策。 3.我已尽力确保本资源的正确性和合法性,但不对其准确性、完整性和及时性做出保证。 4.本资源不应用于商业用途。 5.在使用本资源的过程中,用户应自行承担所有风险和责任,并遵守相关法律法规。 6.对于因使用本资源而产生的任何损失或损害,我概不负责。 请确保在使用本资源时仔细阅读并遵守以上免责声明。如果您有任何疑问或需要进一步帮助,请联系我。 资源最后修改时间:2024-09-24 21:51:35 23580133861466 ec9d6192-f42f-4318-a07e-6648b2513a56

资源文件列表:

分布式事务txlcndemo.zip 大约有21个文件
  1. springboot-dubbo-txlcn-master/bank/pom.xml 791B
  2. springboot-dubbo-txlcn-master/bank/.gitignore 162B
  3. springboot-dubbo-txlcn-master/bank/src/main/resources/application.properties 1.25KB
  4. springboot-dubbo-txlcn-master/bank/src/main/java/com/example/bank/entity/Bank.java 342B
  5. springboot-dubbo-txlcn-master/bank/src/main/java/com/example/bank/service/BankService.java 991B
  6. springboot-dubbo-txlcn-master/bank/src/main/java/com/example/bank/repo/BankRepo.java 358B
  7. springboot-dubbo-txlcn-master/bank/src/main/java/com/example/bank/BankApplication.java 555B
  8. springboot-dubbo-txlcn-master/pom.xml 3.3KB
  9. springboot-dubbo-txlcn-master/README.md 5.62KB
  10. springboot-dubbo-txlcn-master/.gitignore 161B
  11. springboot-dubbo-txlcn-master/people/pom.xml 756B
  12. springboot-dubbo-txlcn-master/people/.gitignore 162B
  13. springboot-dubbo-txlcn-master/people/src/main/resources/application.properties 1.25KB
  14. springboot-dubbo-txlcn-master/people/src/main/java/com/example/people/entity/PeopleAccount.java 360B
  15. springboot-dubbo-txlcn-master/people/src/main/java/com/example/people/PeopleApplication.java 561B
  16. springboot-dubbo-txlcn-master/people/src/main/java/com/example/people/service/PeopleService.java 1.33KB
  17. springboot-dubbo-txlcn-master/people/src/main/java/com/example/people/repo/PeopleAccountRepo.java 398B
  18. springboot-dubbo-txlcn-master/people/src/main/java/com/example/people/rest/PeopleController.java 804B
  19. springboot-dubbo-txlcn-master/api/pom.xml 611B
  20. springboot-dubbo-txlcn-master/api/.gitignore 162B
  21. springboot-dubbo-txlcn-master/api/src/main/java/com/example/api/DepositWithdrawService.java 195B
0评论
提交 加载更多评论
其他资源 分布式事务例子.zip
分布式事务例子
分布式事务控制.zip
分布式事务控制
分布式事务springclouddemo.zip
分布式事务springclouddemo
分布式事务实现.zip
分布式事务实现
《构筑大语言模型应用:应用开发与架构设计》一本关于LLM在真实世界应用的开源电子书,介绍了大语言模型的基础知识和应用.zip
《构筑大语言模型应用:应用开发与架构设计》一本关于LLM在真实世界应用的开源电子书,介绍了大语言模型的基础知识和应用
分布式事务测试.zip
分布式事务测试
ubuntu20.04-ROS noetic实现一个两轮差速移动机器人的仿真
使用Ubuntu20..04虚拟机在ROS-noetic环境下,利用URDF标签创建了一个两轮差速移动机器人模型,该机器人上包括摄像头、雷达等多传感器。最终使用xacro对代码进行优化。 食用方法: 1、新建工作空间; 2、将压缩包解压到工作空间; 3、对工作空间进行编译; 4、运行对应的launch文件。
计算机网络 动态路由之 ospf
计算机网络 动态路由之 ospf
计算机网络 动态路由之 ospf 计算机网络 动态路由之 ospf