当前位置: 首页 > news >正文

深圳网站seo哪家快谷歌seo怎么做的

深圳网站seo哪家快,谷歌seo怎么做的,免费推广营销网站,crm管理系统哪家好微服务集成Seata分布式事务 本次demo代码地址业务场景#xff1a;一般用于以下场景#xff1a;使用 AT 模式的优势#xff08;适用于快速验证#xff09;#xff1a;快速验证建议步骤#xff1a;注意事项#xff1a; 工具环境微服务版本选择Nacos 环境搭建与启动nacos 下… 微服务集成Seata分布式事务 本次demo代码地址业务场景一般用于以下场景使用 AT 模式的优势适用于快速验证快速验证建议步骤注意事项 工具环境微服务版本选择Nacos 环境搭建与启动nacos 下载nacos 配置文件nacos 数据库文件启动nacos Seata 环境搭建与启动seata 下载seata 配置文件添加数据库驱动seata数据库文件启动seata 启动项目测试分布式事务测试用例如下 ** 订单服务order-boot - 扣除库存(storage-boot) - 扣除账户金额(account-boot) **进入git 拉取代码导入idea导入所需数据库建立3个数据库启动项目测试seata情况1正常情况数据库ACID 一致情况2异常情况模拟异常停掉account服务-数据库ACID 一致情况3异常情况: 模拟account 报错,调整代码3个服务正常运行 本次demo代码地址 https://gitee.com/xionggd/my-cloud 业务场景 多个数据库、多个微服务 多个微服务、单个数据库 ... 这些都会涉及到分布式事务的处理微服务集成 Seata 的 AT 模式Auto Transaction Mode主要用于分布式系统中需要跨多个服务/数据库保证事务一致性的场景。AT 模式是一种对业务代码无侵入的分布式事务解决方案适合快速接入和验证。 一般用于以下场景 订单、支付、库存等业务模块分离的电商系统 示例下单时需同时操作订单服务、库存服务、用户账户服务要求这些操作要么全部成功要么全部失败。 金融类系统中的多账户转账 示例从一个账户扣款同时向另一个账户加款两个操作分布在不同的微服务中。 物流系统中状态更新与费用计算解耦 示例物流状态变更触发计费服务两个服务之间需要事务一致性。 涉及多个数据库写操作的业务流程 示例用户注册后触发用户中心、积分系统、消息通知等多个服务的数据写入。 使用 AT 模式的优势适用于快速验证 ✅ 对业务逻辑无侵入只需添加注解即可开启全局事务✅ 支持自动回滚和提交✅ 支持主流数据库如 MySQL、Oracle、PostgreSQL✅ 配置简单易于集成 快速验证建议步骤 引入 Seata 客户端依赖如 seata-spring-boot-starter配置 TC事务协调器地址Seata Server在入口方法上添加 GlobalTransactional 注解在各个微服务中配置数据源代理以支持分支事务编写测试用例模拟分布式写操作并观察事务一致性 示例代码片段 GlobalTransactional public void placeOrder(Order order) {orderService.create(order);inventoryService.reduceStock(order.getProductId(), order.getCount());accountService.deductBalance(order.getUserId(), order.getTotalPrice()); }注意事项 数据库表需包含 undo_log 表用于事务回滚不适合超大规模并发或高吞吐场景可考虑 TCC 或 Saga 模式 工具环境 【工具版本】JDK17mysql8.xspring-boot 3.3.0spring-cloud 2023.0.5spring-cloud-alibaba 2023.0.3.3mybatis-flex 1.10.9cloud组件sentinel 2023.0.3.3 熔断器loadbalancer 负载均衡器openfeign 微服务调用客户端 【中间件】seata 分布式事务中间件nacos 注册中心和配置中心微服务版本选择 Spring Cloud Alibaba 版本选择 Nacos 环境搭建与启动 nacos 下载 https://nacos.io/download/nacos-server/?spm5238cd80.2ef5001f.0.0.3f613b7c0cg6rw nacos 配置文件 这里使用mysql作为nacos的持久化工具修改配置文件如下 nacos解压的目录 nacos-3.0.1\conf\application.properties application.properties # 位于25 - 33 行 启用mysql配置 #*************** Datasource Related Configurations ***************# ### nacos.plugin.datasource.log.enabledtrue spring.sql.init.platformmysql ### Count of DB:db.num1 ### Connect URL of DB:db.url.0jdbc:mysql://127.0.0.1:3306/nacos?characterEncodingutf8connectTimeout1000socketTimeout3000autoReconnecttrueuseUnicodetrueuseSSLfalseserverTimezoneUTCdb.userrootdb.password123456nacos 数据库文件 已经配置好的项目 yml -- 如果存在就删除这里不要删自行处理 -- DROP DATABASE IF EXISTS nacos;-- 创建nacos数据库 CREATE DATABASE nacos DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 使用这个库 USE nacos;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for config_info -- ---------------------------- DROP TABLE IF EXISTS config_info; CREATE TABLE config_info (id bigint NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT data_id,group_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT group_id,content longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT content,md5 varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT md5,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,src_user text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT source user,src_ip varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT source ip,app_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT app_name,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT COMMENT 租户字段,c_desc varchar(256) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT configuration description,c_use varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT configuration usage,effect varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 配置生效的描述,type varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT 配置的类型,c_schema text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT 配置的模式,encrypted_data_key varchar(1024) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT COMMENT 密钥,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uk_configinfo_datagrouptenant(data_id, group_id, tenant_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 8 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT config_info ROW_FORMAT Dynamic;-- ---------------------------- -- Records of config_info -- ---------------------------- INSERT INTO config_info VALUES (1, application-dev.yaml, DEFAULT_GROUP, # feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n min-request-size: 8192\n response:\n enabled: true\n\n# seata 分布式事务配置\nseata:\n enabled: true\n registry:\n type: nacos\n nacos:\n server-addr: 127.0.0.1:8848\n group: DEFAULT_GROUP\n service:\n vgroup-mapping:\n default_tx_group: default , 1ef6e82a7c619b4e4271110410fbcaf6, 2025-06-06 17:12:23, 2025-06-11 13:56:14, nacos, 10.50.101.31, , public, 公共配置, NULL, NULL, yaml, NULL, ); INSERT INTO config_info VALUES (4, application-dev-storage-boot.yaml, DEFAULT_GROUP, server:\n port: 9222\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n\n# seata x微服务配置\nseata:\n application-id: storage-boot\n tx-service-group: default_tx_group, 2223fd4f6282ac3162efa506059f8091, 2025-06-09 10:54:46, 2025-06-11 14:05:21, nacos, 10.50.101.31, , public, storage服务配置, NULL, NULL, yaml, NULL, ); INSERT INTO config_info VALUES (5, application-dev-order-boot.yaml, DEFAULT_GROUP, server:\n port: 9223\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_order?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n\n# seata x微服务配置\nseata:\n application-id: order-boot\n tx-service-group: default_tx_group, 133403d1c3a807cb7ca425b062b52c1f, 2025-06-10 10:45:54, 2025-06-11 13:56:46, nacos, 10.50.101.31, , public, order服务配置, NULL, NULL, yaml, NULL, ); INSERT INTO config_info VALUES (6, application-dev-account-boot.yaml, DEFAULT_GROUP, server:\n port: 9300\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_account?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n\n\n# seata x微服务配置\nseata:\n application-id: account-boot\n tx-service-group: default_tx_group, 7df132049d1212029c8ad3ce816d24db, 2025-06-10 10:50:11, 2025-06-11 14:05:41, nacos, 10.50.101.31, , public, account服务配置, NULL, NULL, yaml, NULL, );-- ---------------------------- -- Table structure for config_info_gray -- ---------------------------- DROP TABLE IF EXISTS config_info_gray; CREATE TABLE config_info_gray (id bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT id,data_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT data_id,group_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT group_id,content longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT content,md5 varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT md5,src_user text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL COMMENT src_user,src_ip varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT src_ip,gmt_create datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT gmt_create,gmt_modified datetime(3) NOT NULL DEFAULT CURRENT_TIMESTAMP(3) COMMENT gmt_modified,app_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL COMMENT app_name,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT COMMENT tenant_id,gray_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT gray_name,gray_rule text CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL COMMENT gray_rule,encrypted_data_key varchar(256) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL DEFAULT COMMENT encrypted_data_key,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uk_configinfogray_datagrouptenantgray(data_id, group_id, tenant_id, gray_name) USING BTREE,INDEX idx_dataid_gmt_modified(data_id, gmt_modified) USING BTREE,INDEX idx_gmt_modified(gmt_modified) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci COMMENT config_info_gray ROW_FORMAT Dynamic;-- ---------------------------- -- Records of config_info_gray -- ------------------------------ ---------------------------- -- Table structure for config_tags_relation -- ---------------------------- DROP TABLE IF EXISTS config_tags_relation; CREATE TABLE config_tags_relation (id bigint NOT NULL COMMENT id,tag_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT tag_name,tag_type varchar(64) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT tag_type,data_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT data_id,group_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT group_id,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT COMMENT tenant_id,nid bigint NOT NULL AUTO_INCREMENT COMMENT nid, 自增长标识,PRIMARY KEY (nid) USING BTREE,UNIQUE INDEX uk_configtagrelation_configidtag(id, tag_name, tag_type) USING BTREE,INDEX idx_tenant_id(tenant_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT config_tag_relation ROW_FORMAT Dynamic;-- ---------------------------- -- Records of config_tags_relation -- ------------------------------ ---------------------------- -- Table structure for group_capacity -- ---------------------------- DROP TABLE IF EXISTS group_capacity; CREATE TABLE group_capacity (id bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键ID,group_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT COMMENT Group ID空字符表示整个集群,quota int UNSIGNED NOT NULL DEFAULT 0 COMMENT 配额0表示使用默认值,usage int UNSIGNED NOT NULL DEFAULT 0 COMMENT 使用量,max_size int UNSIGNED NOT NULL DEFAULT 0 COMMENT 单个配置大小上限单位为字节0表示使用默认值,max_aggr_count int UNSIGNED NOT NULL DEFAULT 0 COMMENT 聚合子配置最大个数0表示使用默认值,max_aggr_size int UNSIGNED NOT NULL DEFAULT 0 COMMENT 单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_count int UNSIGNED NOT NULL DEFAULT 0 COMMENT 最大变更历史数量,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uk_group_id(group_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 集群、各Group容量信息表 ROW_FORMAT Dynamic;-- ---------------------------- -- Records of group_capacity -- ---------------------------- INSERT INTO group_capacity VALUES (1, , 0, 4, 0, 0, 0, 0, 2025-06-06 09:12:22, 2025-06-11 08:20:31);-- ---------------------------- -- Table structure for his_config_info -- ---------------------------- DROP TABLE IF EXISTS his_config_info; CREATE TABLE his_config_info (id bigint UNSIGNED NOT NULL COMMENT id,nid bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT nid, 自增标识,data_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT data_id,group_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT group_id,app_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT app_name,content longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT content,md5 varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT md5,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,src_user text CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT source user,src_ip varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT source ip,op_type char(10) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT operation type,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT COMMENT 租户字段,encrypted_data_key varchar(1024) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT COMMENT 密钥,publish_type varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT formal COMMENT publish type gray or formal,gray_name varchar(50) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT gray name,ext_info longtext CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL COMMENT ext info,PRIMARY KEY (nid) USING BTREE,INDEX idx_gmt_create(gmt_create) USING BTREE,INDEX idx_gmt_modified(gmt_modified) USING BTREE,INDEX idx_did(data_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 21 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 多租户改造 ROW_FORMAT Dynamic;-- ---------------------------- -- Records of his_config_info -- ---------------------------- INSERT INTO his_config_info VALUES (0, 1, application-dev.yaml, DEFAULT_GROUP, , spring:\r\n data:\r\n , 4551d3c5b42639f2df276a5057df17d5, 2025-06-06 17:12:22, 2025-06-06 09:12:23, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (0, 2, application-storage-boot-dev.yaml, DEFAULT_GROUP, , # DataSource Config\r\nspring:\r\n datasource:\r\n url: jdbc:mysql://localhost:3306/storage\r\n username: root\r\n password: 123456, c4451f290ffb86f4500869b6da7a97c9, 2025-06-06 17:25:54, 2025-06-06 09:25:54, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\storage-boot配置\}); INSERT INTO his_config_info VALUES (2, 3, application-storage-boot-dev.yaml, DEFAULT_GROUP, , # DataSource Config\r\nspring:\r\n datasource:\r\n url: jdbc:mysql://localhost:3306/storage\r\n username: root\r\n password: 123456, c4451f290ffb86f4500869b6da7a97c9, 2025-06-06 17:33:29, 2025-06-06 09:33:30, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage-boot配置\}); INSERT INTO his_config_info VALUES (2, 4, application-storage-boot-dev.yaml, DEFAULT_GROUP, , # DataSource Config\nspring:\n datasource:\n url: jdbc:mysql://127.0.0.1:3306/my_storage\n username: root\n password: 123456, fbdfbd0db7dc001921c067109c180763, 2025-06-06 17:34:31, 2025-06-06 09:34:31, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage-boot配置\}); INSERT INTO his_config_info VALUES (2, 5, application-storage-boot-dev.yaml, DEFAULT_GROUP, , # DataSource Config\nspring:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage\n username: root\n password: 123456, 66e1c993c7ed5567a1371b82a9223b45, 2025-06-06 17:35:47, 2025-06-06 09:35:48, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage-boot配置\}); INSERT INTO his_config_info VALUES (2, 6, application-storage-boot-dev.yaml, DEFAULT_GROUP, , # DataSource Config\nspring:\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456, e7059c7fa261b458b395c7cf7a835aa7, 2025-06-06 17:39:05, 2025-06-06 09:39:05, nacos, 10.50.101.31, D, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage-boot配置\}); INSERT INTO his_config_info VALUES (1, 7, application-dev.yaml, DEFAULT_GROUP, , spring:\r\n data:\r\n , 4551d3c5b42639f2df276a5057df17d5, 2025-06-09 09:15:39, 2025-06-09 01:15:40, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (1, 8, application-dev.yaml, DEFAULT_GROUP, , server:\n port: 9222, 88588bd670a9a12159b2d7ab7a77dec9, 2025-06-09 09:40:15, 2025-06-09 01:40:16, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (1, 9, application-dev.yaml, DEFAULT_GROUP, , test:\n a1: 哈哈哈, 89cbd73f0db3dcae1b18bc2b9491fc8d, 2025-06-09 09:57:50, 2025-06-09 01:57:50, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (1, 10, application-dev.yaml, DEFAULT_GROUP, , test:\n a1: 哈哈哈222, 80a88d1fe79afa30484018d0351cea0b, 2025-06-09 10:01:00, 2025-06-09 02:01:01, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (0, 11, application-dev-storage.yaml, DEFAULT_GROUP, , spring:\r\n # mysql数据源\r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\r\n username: root\r\n password: 123456\r\n, 646e5cf7302e84dd2c393da5700f11be, 2025-06-09 10:51:36, 2025-06-09 02:51:37, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\storage服务的配置\}); INSERT INTO his_config_info VALUES (0, 12, application-dev-storage-boot.yaml, DEFAULT_GROUP, , spring:\r\n # mysql数据源\r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\r\n username: root\r\n password: 123456\r\n, 646e5cf7302e84dd2c393da5700f11be, 2025-06-09 10:54:45, 2025-06-09 02:54:46, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\storage服务配置\}); INSERT INTO his_config_info VALUES (3, 13, application-dev-storage.yaml, DEFAULT_GROUP, , spring:\r\n # mysql数据源\r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\r\n username: root\r\n password: 123456\r\n, 646e5cf7302e84dd2c393da5700f11be, 2025-06-09 10:54:48, 2025-06-09 02:54:49, nacos, 10.50.101.31, D, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage服务的配置\}); INSERT INTO his_config_info VALUES (4, 14, application-dev-storage-boot.yaml, DEFAULT_GROUP, , spring:\r\n # mysql数据源\r\n datasource:\r\n driver-class-name: com.mysql.cj.jdbc.Driver\r\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\r\n username: root\r\n password: 123456\r\n, 646e5cf7302e84dd2c393da5700f11be, 2025-06-09 14:46:04, 2025-06-09 06:46:04, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage服务配置\}); INSERT INTO his_config_info VALUES (0, 15, application-dev-order-boot.yaml, DEFAULT_GROUP, , server:\n port: 9222\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, c192a70969811ca8d3118434205a18d3, 2025-06-10 10:45:54, 2025-06-10 02:45:54, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\storage服务配置\}); INSERT INTO his_config_info VALUES (5, 16, application-dev-order-boot.yaml, DEFAULT_GROUP, , server:\n port: 9222\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, c192a70969811ca8d3118434205a18d3, 2025-06-10 10:46:14, 2025-06-10 02:46:15, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage服务配置\}); INSERT INTO his_config_info VALUES (0, 17, application-dev-account-boot.yaml, DEFAULT_GROUP, , server:\n port: 9223\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_order?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1c4458bf301c0b2bd3b3bf2c4c779a3d, 2025-06-10 10:50:10, 2025-06-10 02:50:11, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\order服务配置\}); INSERT INTO his_config_info VALUES (6, 18, application-dev-account-boot.yaml, DEFAULT_GROUP, , server:\n port: 9223\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_order?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1c4458bf301c0b2bd3b3bf2c4c779a3d, 2025-06-10 10:50:43, 2025-06-10 02:50:44, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\order服务配置\}); INSERT INTO his_config_info VALUES (0, 19, application-dev-bussiness-boot.yaml, DEFAULT_GROUP, , server:\n port: 9300\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_account?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1fc16b65354d566f269373183474f819, 2025-06-10 10:51:10, 2025-06-10 02:51:11, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\account服务配置\}); INSERT INTO his_config_info VALUES (7, 20, application-dev-bussiness-boot.yaml, DEFAULT_GROUP, , server:\n port: 9300\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_account?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1fc16b65354d566f269373183474f819, 2025-06-10 10:51:57, 2025-06-10 02:51:57, nacos, 10.50.101.31, D, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\account服务配置\}); INSERT INTO his_config_info VALUES (0, 21, ry-application-dev.yml, DEFAULT_GROUP, , data:, 7a8153f7dc0f57d2f3462710d97d00cb, 2025-06-11 10:25:13, 2025-06-11 02:25:13, nacos, 10.50.101.31, I, public, , formal, , {\src_user\:\nacos\,\type\:\yaml\,\c_desc\:\ry-application-dev.yaml\}); INSERT INTO his_config_info VALUES (1, 22, application-dev.yaml, DEFAULT_GROUP, , test:\n a1: 123哈哈哈222233, ae404fb121ebc0e360be67b36939371a, 2025-06-11 10:26:14, 2025-06-11 02:26:15, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (1, 23, application-dev.yaml, DEFAULT_GROUP, , # feign 配置\nfeign:\n sentinel:\n enabled: true\n okhttp:\n enabled: true\n httpclient:\n enabled: false\n client:\n config:\n default:\n connectTimeout: 10000\n readTimeout: 10000\n compression:\n request:\n enabled: true\n min-request-size: 8192\n response:\n enabled: true, 5edb8badfae167d9425b3853efe662c9, 2025-06-11 13:56:14, 2025-06-11 05:56:14, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\公共配置\}); INSERT INTO his_config_info VALUES (5, 24, application-dev-order-boot.yaml, DEFAULT_GROUP, , server:\n port: 9223\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_order?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1c4458bf301c0b2bd3b3bf2c4c779a3d, 2025-06-11 13:56:46, 2025-06-11 05:56:46, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\order服务配置\}); INSERT INTO his_config_info VALUES (4, 25, application-dev-storage-boot.yaml, DEFAULT_GROUP, , server:\n port: 9222\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_storage?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, c192a70969811ca8d3118434205a18d3, 2025-06-11 14:05:20, 2025-06-11 06:05:21, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\storage服务配置\}); INSERT INTO his_config_info VALUES (6, 26, application-dev-account-boot.yaml, DEFAULT_GROUP, , server:\n port: 9300\n\nspring:\n # mysql数据源\n datasource:\n driver-class-name: com.mysql.cj.jdbc.Driver\n url: jdbc:mysql://127.0.0.1:3306/my_account?characterEncodingutf8serverTimezoneGMT%2b8autoReconnecttrueuseUnicodetruerewriteBatchedStatementstrue\n username: root\n password: 123456\n, 1fc16b65354d566f269373183474f819, 2025-06-11 14:05:40, 2025-06-11 06:05:41, nacos, 10.50.101.31, U, public, , formal, , {\type\:\yaml\,\src_user\:\nacos\,\c_desc\:\account服务配置\});-- ---------------------------- -- Table structure for permissions -- ---------------------------- DROP TABLE IF EXISTS permissions; CREATE TABLE permissions (role varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT role,resource varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT resource,action varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT action,UNIQUE INDEX uk_role_permission(role, resource, action) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of permissions -- ------------------------------ ---------------------------- -- Table structure for roles -- ---------------------------- DROP TABLE IF EXISTS roles; CREATE TABLE roles (username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT username,role varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT role,UNIQUE INDEX idx_user_role(username, role) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of roles -- ---------------------------- INSERT INTO roles VALUES (nacos, ROLE_ADMIN);-- ---------------------------- -- Table structure for tenant_capacity -- ---------------------------- DROP TABLE IF EXISTS tenant_capacity; CREATE TABLE tenant_capacity (id bigint UNSIGNED NOT NULL AUTO_INCREMENT COMMENT 主键ID,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL DEFAULT COMMENT Tenant ID,quota int UNSIGNED NOT NULL DEFAULT 0 COMMENT 配额0表示使用默认值,usage int UNSIGNED NOT NULL DEFAULT 0 COMMENT 使用量,max_size int UNSIGNED NOT NULL DEFAULT 0 COMMENT 单个配置大小上限单位为字节0表示使用默认值,max_aggr_count int UNSIGNED NOT NULL DEFAULT 0 COMMENT 聚合子配置最大个数,max_aggr_size int UNSIGNED NOT NULL DEFAULT 0 COMMENT 单个聚合数据的子配置大小上限单位为字节0表示使用默认值,max_history_count int UNSIGNED NOT NULL DEFAULT 0 COMMENT 最大变更历史数量,gmt_create datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 创建时间,gmt_modified datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 修改时间,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uk_tenant_id(tenant_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT 租户容量信息表 ROW_FORMAT Dynamic;-- ---------------------------- -- Records of tenant_capacity -- ---------------------------- INSERT INTO tenant_capacity VALUES (1, public, 0, 4, 0, 0, 0, 0, 2025-06-06 09:12:22, 2025-06-11 08:20:31);-- ---------------------------- -- Table structure for tenant_info -- ---------------------------- DROP TABLE IF EXISTS tenant_info; CREATE TABLE tenant_info (id bigint NOT NULL AUTO_INCREMENT COMMENT id,kp varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NOT NULL COMMENT kp,tenant_id varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT COMMENT tenant_id,tenant_name varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT COMMENT tenant_name,tenant_desc varchar(256) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT tenant_desc,create_source varchar(32) CHARACTER SET utf8mb3 COLLATE utf8mb3_bin NULL DEFAULT NULL COMMENT create_source,gmt_create bigint NOT NULL COMMENT 创建时间,gmt_modified bigint NOT NULL COMMENT 修改时间,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX uk_tenant_info_kptenantid(kp, tenant_id) USING BTREE,INDEX idx_tenant_id(tenant_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb3 COLLATE utf8mb3_bin COMMENT tenant_info ROW_FORMAT Dynamic;-- ---------------------------- -- Records of tenant_info -- ------------------------------ ---------------------------- -- Table structure for users -- ---------------------------- DROP TABLE IF EXISTS users; CREATE TABLE users (username varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT username,password varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci NOT NULL COMMENT password,enabled tinyint(1) NOT NULL COMMENT enabled,PRIMARY KEY (username) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of users -- ---------------------------- INSERT INTO users VALUES (nacos, $2a$10$mULEQk1QStEjDfKLjMrvjOVSHXF.ZptfXtTKdmR71Ce7VAFkxijI6, 1);SET FOREIGN_KEY_CHECKS 1; 启动nacos 进入目录启动 注意需要jdk17 设置环境变量 *** 这里“C:\Users\jdks\graalvm-jdk-21.0.7”要替换你jdk17所在目录 *** 这里“C:\Users\jdks\graalvm-jdk-21.0.7”要替换你jdk17所在目录 *** 这里“C:\Users\jdks\graalvm-jdk-21.0.7”要替换你jdk17所在目录 set JAVA_HOMEC:\Users\jdks\graalvm-jdk-21.0.7单机启动 startup.cmd -m standalone12345678901234567890123456789012 编译后的 base64 启动需要数据这个控制台输入 MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI访问nacos http://127.0.0.1:8080/#/login 用户名nacos 密码nacosSeata 环境搭建与启动 seata 下载 ** 下载** https://seata.apache.org/zh-cn/download/seata-server ** 官网** 这里我们选择的版本是 seata 2.1 https://seata.apache.org/zh-cn/docs/v2.1/user/quickstart/ ** 解压 ** apache-seata-2.1.0-incubating-bin seata 配置文件 修改配置文件 application.yml # # Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the License); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an AS IS BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. #server:port: 7091spring:application:name: seata-serverlogging:config: classpath:logback-spring.xmlfile:path: ${log.home:${user.home}/logs/seata}extend:logstash-appender:destination: 127.0.0.1:4560kafka-appender:bootstrap-servers: 127.0.0.1:9092topic: logback_to_logstashconsole:user:username: seatapassword: seata seata:config:# support: nacos, consul, apollo, zk, etcd3type: fileregistry:# support: nacos, eureka, redis, zk, consul, etcd3, sofatype: nacosnacos:application: seata-serverserver-addr: 127.0.0.1:8848group: DEFAULT_GROUPnamespace:cluster: defaultcontext-path:##1.The following configuration is for the open source version of Nacosusername:password:store:# support: file 、 db 、 redis 、 raftmode: dbdb:datasource: druiddb-type: mysqldriver-class-name: com.mysql.jdbc.Driverurl: jdbc:mysql://127.0.0.1:3306/my_seata?rewriteBatchedStatementstrueuser: rootpassword: 123456min-conn: 10max-conn: 100global-table: global_tablebranch-table: branch_tablelock-table: lock_tabledistributed-lock-table: distributed_lockquery-limit: 1000max-wait: 5000# server:# service-port: 8091 #If not configured, the default is ${server.port} 1000security:secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017tokenValidityInMilliseconds: 1800000ignore:urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.jpeg,/**/*.ico,/api/v1/auth/login,/version.json,/health,/error添加数据库驱动 驱动下载地址mysql-connector-java-8.0.28.jar https://repo1.maven.org/maven2/mysql/mysql-connector-java/8.0.28/mysql-connector-java-8.0.28.jar 下载完放入lib/jdbc路径 *\apache-seata-2.1.0-incubating-bin\lib\jdbc seata数据库文件 my_seata.sql -- 如果存在就删除这里不要删自行处理 -- DROP DATABASE IF EXISTS my_seata;-- 创建数据库 CREATE DATABASE my_seata DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 使用这个库 USE my_seata;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for branch_table -- ---------------------------- DROP TABLE IF EXISTS branch_table; CREATE TABLE branch_table (branch_id bigint NOT NULL,xid varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,transaction_id bigint NULL DEFAULT NULL,resource_group_id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,resource_id varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,branch_type varchar(8) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,status tinyint NULL DEFAULT NULL,client_id varchar(64) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,application_data varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,gmt_create datetime(6) NULL DEFAULT NULL,gmt_modified datetime(6) NULL DEFAULT NULL,PRIMARY KEY (branch_id) USING BTREE,INDEX idx_xid(xid) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of branch_table -- ------------------------------ ---------------------------- -- Table structure for distributed_lock -- ---------------------------- DROP TABLE IF EXISTS distributed_lock; CREATE TABLE distributed_lock (lock_key char(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,lock_value varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,expire bigint NULL DEFAULT NULL,PRIMARY KEY (lock_key) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of distributed_lock -- ---------------------------- INSERT INTO distributed_lock VALUES (AsyncCommitting, , 0); INSERT INTO distributed_lock VALUES (RetryCommitting, , 0); INSERT INTO distributed_lock VALUES (RetryRollbacking, , 0); INSERT INTO distributed_lock VALUES (TxTimeoutCheck, , 0); INSERT INTO distributed_lock VALUES (UndologDelete, , 0);-- ---------------------------- -- Table structure for global_table -- ---------------------------- DROP TABLE IF EXISTS global_table; CREATE TABLE global_table (xid varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,transaction_id bigint NULL DEFAULT NULL,status tinyint NOT NULL,application_id varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,transaction_service_group varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,transaction_name varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,timeout int NULL DEFAULT NULL,begin_time bigint NULL DEFAULT NULL,application_data varchar(2000) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,gmt_create datetime NULL DEFAULT NULL,gmt_modified datetime NULL DEFAULT NULL,PRIMARY KEY (xid) USING BTREE,INDEX idx_status_gmt_modified(status, gmt_modified) USING BTREE,INDEX idx_transaction_id(transaction_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of global_table -- ------------------------------ ---------------------------- -- Table structure for lock_table -- ---------------------------- DROP TABLE IF EXISTS lock_table; CREATE TABLE lock_table (row_key varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL,xid varchar(128) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,transaction_id bigint NULL DEFAULT NULL,branch_id bigint NOT NULL,resource_id varchar(256) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,table_name varchar(32) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,pk varchar(36) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL,status tinyint NOT NULL DEFAULT 0 COMMENT 0:locked ,1:rollbacking,gmt_create datetime NULL DEFAULT NULL,gmt_modified datetime NULL DEFAULT NULL,PRIMARY KEY (row_key) USING BTREE,INDEX idx_status(status) USING BTREE,INDEX idx_branch_id(branch_id) USING BTREE,INDEX idx_xid(xid) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of lock_table -- ----------------------------SET FOREIGN_KEY_CHECKS 1; 启动seata 进入bin 输入cmd 输入启动命令, seata 也是使用的db数据库持久化 seata-server.bat -p 8091 -h 127.0.0.1 -m db进入seata控制台 用户名seata 密码seata登录 启动项目测试分布式事务 测试用例如下 ** 订单服务order-boot - 扣除库存(storage-boot) - 扣除账户金额(account-boot) ** 进入git 拉取代码 git clone https://gitee.com/xionggd/my-cloud.git导入idea idea 选择 file - Open 你clone的代码库 ** 按顺序安装依赖 ** my-dependencies 安装依赖 my-starter 安装依赖 my-component-parent 安装依赖 my-boot-api 安装依赖 my-boot-parent 编译项目 导入所需数据库建立3个数据库 这里模拟多个数据库我本地 创建3个数据分别是 用户库、订单库、仓储依次执行sqlmy_account.sql 账户用户库 -- 如果存在就删除这里不要删自行处理 -- DROP DATABASE IF EXISTS my_account;-- 创建数据库 CREATE DATABASE my_account DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 使用这个库 USE my_account;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for account -- ---------------------------- DROP TABLE IF EXISTS account; CREATE TABLE account (id int NOT NULL AUTO_INCREMENT,user_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,money int NULL DEFAULT 0,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 2 CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of account -- ---------------------------- INSERT INTO account VALUES (1, zhangsan, 196);-- ---------------------------- -- Table structure for undo_log -- ---------------------------- DROP TABLE IF EXISTS undo_log; CREATE TABLE undo_log (id bigint NOT NULL AUTO_INCREMENT,branch_id bigint NOT NULL,xid varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,context varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,rollback_info longblob NOT NULL,log_status int NOT NULL,log_created datetime NOT NULL,log_modified datetime NOT NULL,ext varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX ux_undo_log(xid, branch_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of undo_log -- ----------------------------SET FOREIGN_KEY_CHECKS 1; my_order.sql 订单库 -- 如果存在就删除这里不要删自行处理 -- DROP DATABASE IF EXISTS my_order;-- 创建数据库 CREATE DATABASE my_order DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 使用这个库 USE my_order;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for order -- ---------------------------- DROP TABLE IF EXISTS order; CREATE TABLE order (id int NOT NULL AUTO_INCREMENT,user_id varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,commodity_code varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,count int NULL DEFAULT 0,money int NULL DEFAULT 0,PRIMARY KEY (id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of order -- ---------------------------- INSERT INTO order VALUES (6, zhangsan, 1002, 1, 1); INSERT INTO order VALUES (7, zhangsan, 1002, 1, 1); INSERT INTO order VALUES (11, zhangsan, 1002, 1, 1); INSERT INTO order VALUES (12, zhangsan, 1002, 1, 1);-- ---------------------------- -- Table structure for undo_log -- ---------------------------- DROP TABLE IF EXISTS undo_log; CREATE TABLE undo_log (id bigint NOT NULL AUTO_INCREMENT,branch_id bigint NOT NULL,xid varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,context varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,rollback_info longblob NOT NULL,log_status int NOT NULL,log_created datetime NOT NULL,log_modified datetime NOT NULL,ext varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX ux_undo_log(xid, branch_id) USING BTREE ) ENGINE InnoDB CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of undo_log -- ----------------------------SET FOREIGN_KEY_CHECKS 1; my_storage.sql 仓储库 -- 如果存在就删除这里不要删自行处理 -- DROP DATABASE IF EXISTS my_storage;-- 创建数据库 CREATE DATABASE my_storage DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_general_ci;-- 使用这个库 USE my_storage;SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- Table structure for storage -- ---------------------------- DROP TABLE IF EXISTS storage; CREATE TABLE storage (id int NOT NULL AUTO_INCREMENT,commodity_code varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,count int NULL DEFAULT 0,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX commodity_code(commodity_code) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of storage -- ---------------------------- INSERT INTO storage VALUES (1, 1002, 196);-- ---------------------------- -- Table structure for undo_log -- ---------------------------- DROP TABLE IF EXISTS undo_log; CREATE TABLE undo_log (id bigint NOT NULL AUTO_INCREMENT,branch_id bigint NOT NULL,xid varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,context varchar(128) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL,rollback_info longblob NOT NULL,log_status int NOT NULL,log_created datetime NOT NULL,log_modified datetime NOT NULL,ext varchar(100) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL,PRIMARY KEY (id) USING BTREE,UNIQUE INDEX ux_undo_log(xid, branch_id) USING BTREE ) ENGINE InnoDB AUTO_INCREMENT 1 CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci ROW_FORMAT Dynamic;-- ---------------------------- -- Records of undo_log -- ----------------------------SET FOREIGN_KEY_CHECKS 1; 启动项目 启动 account-boot 服务用户账户 启动 order-boot 服务 订单 启动 storage-boot 服务 仓储 启动后查看nacos 服务启动情况 nacos注册中心查看服务 测试seata 数据库目前情况 account表数据 order表数据 storage表数据 情况1正常情况数据库ACID 一致 请求采购单接口 订单服务api 接口 get 请求zhangsan 采购 1002 数量 1 http://localhost:9223/order/purchase?userIdzhangsancommodityCode1002orderCount1浏览器请求结果 数据库情况 用户表 money - 1 order订单表创建了一个订单 仓库被采购了 1002 一件数量 情况2异常情况模拟异常停掉account服务-数据库ACID 一致 请求get 请求zhangsan 采购 1002 数量 1 http://localhost:9223/order/purchase?userIdzhangsancommodityCode1002orderCount1浏览器请求结果 数据库 结果全局事务生效 情况3异常情况: 模拟account 报错,调整代码3个服务正常运行 调整 account-boot 服务代码 启动account 服务 请求 get 请求zhangsan 采购 1002 数量 1 http://localhost:9223/order/purchase?userIdzhangsancommodityCode1002orderCount1浏览器请求结果 idea 日志 数据库情况 结果全局事务生效 seata AT模式全局事务测试结束
http://www.yingshimen.cn/news/24433/

相关文章:

  • 海南省住房和城乡建设厅网站网上版什么网站可做浏览器首页
  • 网站设计分辨率织梦手机wap网站标签调用
  • 网站建设及外包怎么查网站有没有做推广
  • 国外市场网站推广公司如何网站建设团队
  • 氧气瓶网站建设h5海报怎么制作
  • asp公司网站重庆网站建设搜外
  • 化工类网站模板线上it培训机构
  • 天水+网站建设网站做网络营销
  • 网站排行榜上升代码软件行业发展前景
  • c 如何拖控件做网站如何新建站点
  • 站点创建成功有影响吗迎访问备案网站管理系统
  • 音乐网站用什么语言做成都娱乐场所最新消息
  • 网站开发公司联系电话陕西做网站的公司电话
  • python 和php网站开发开发电商平台多少钱
  • 自助建设网站软件有什么比较好的做海报网站
  • 潍坊网站开发招聘信息百度指数怎么看城市
  • 中国十大门户网站百度的搜索引擎优化
  • 申请网站官网中国防疫政策马上要变化了
  • 环境文化建设方案网站高邮网站建设
  • 企业网站颜色自贡移动网站建设
  • 北京高端网站建设费用sem代运营推广公司
  • 网站的建站方案做网站竞价没有点击率
  • 网站结构与导航设计网站优化工具
  • 网站开发面试都会问什么问题中信建设有限责任公司招标平台
  • 做精品课程网站需要啥素材vs网站开发源码
  • 做网站背景图片要多大下载素材第三方网站是怎么做
  • 深圳高端集团网站建设公司微商城下载安装
  • 申请个人主页网站地址石家庄信息门户网站定制费用
  • 网站色彩策划最新的军事新闻报道
  • 广西南宁网站建设哪家好团购网站开发代码