1、简介 AT 模式(参考链接 TBD)基于 支持本地 ACID 事务 的 关系型数据库 : TCC 模式,不依赖于底层数据资源的事务支持。 2、建立项目 TCC模式的maven依赖引入,项目配置和AT模式相同,可以参考seata+nacos实现AT模式分布式事务的第2节,完成代码到git上下载,TCC模式在tcc分支下,脚本在script目录下(和AT模式的数据库脚本一致,选择一个执行即可) https://gitee.com/WylLoveX/seata.git 3、使用 TM端依然使用@GlobalTransactional注解标识 RM端需要单独标识出来 @LocalTCC将资源注册到TC @TwoPhaseBusinessAction 将资源标时为二阶段提交的try阶段,这里需要在指定二阶段对应的Confirm和Cancel @BusinessActionContextParameter标时这个一个二阶段参数,后续可以在BusinessActionContext中获取 /** * @author Mr.Wen * @version 1.0 * @date 2021-10-2.... 有更新! seata+nacos实现TCC模式分布式事务 程序人生
1、seata 1.1、seata简介 seata官网:http://seata.io/zh-cn/docs/overview/what-is-seata.html 1.2、seata下载安装 seata下载地址 http://seata.io/zh-cn/blog/download.html 我下载的版本是1.3.0版本,下载完直接解压即可 1.3、服务端配置 进入conf文件里面有两个关键的配置文件,第一个是file.conf,第二个是registry.conf 1.3.1、file.conf file.conf配置了seata运行时数据的存储位置,可选项有file,db,redis,将mode改为自己要配置的模式,然后更改下面对应的配置即可,我使用了db,就更改db对应的配置 ## transaction log store, only used in seata-server store { ## store mode: file、db、redis mode = "db" ## file store property file { ## store location dir d.... 有更新! seata配合nacos使用 程序人生
1、拉取镜像 docker pull rocketmqinc/rocketmq 2、启动mqnamesrv docker run -d --name=rmqnamesrv -p 9876:9876 -v D:\download\docker\rocketmq\nameserver\logs:/root/logs -v D:\download\docker\rocketmq\nameserver\store:/root/store -e "MAX_POSSIBLE_HEAP=100000000" rocketmqinc/rocketmq sh mqnamesrv 3、启动broker 新建配置文件broker.cnf # 所属集群名称,如果节点较多可以配置多个 brokerClusterName = DefaultCluster #broker名称,master和slave使用相同的名称,表明他们的主从关系 brokerName = broker-a #0表示Master,大于0表示不同的slave brokerId = 0 #表示几点做消息删除动作,默认是凌晨4点 deleteWh.... docker安装rocketmq 程序人生
1、spring boot的配置文件 一般情况下在application.yml或application.properties中配置项目的配置信息。 除了application的配置文件,还有一个bootstrap的配置文件,bootstrap由父ApplicationContext加载,在application之前被加载,且属性不能被覆盖,主要用于从额外的资源加载配置信息。 使用配置中心,需要在bootstrap文件中配置spring.application.name和配置中心的相关配置,以便于从配置中心获取配置信息。 2、pom引入 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.o.... nacos配置中心 nacos
spring security通过定义多个AuthenticationProvider来实现不同的认证方式。 1、自定义认证器 自定义认证器可以通过实现AuthenticationProvider接口来实现,这个接口,一共有两个方法 public interface AuthenticationProvider { /** * Performs authentication with the same contract as * {@link org.springframework.security.authentication.AuthenticationManager#authenticate(Authentication)} * . * @param authentication the authentication request object. * @return a fully authenticated object including credentials. May return * <code>null</code> if the <c.... spring security支持多个认证方法 程序人生