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

金华建设银行网站网站备案的幕布是什么意思

金华建设银行网站,网站备案的幕布是什么意思,程序员接私活平台,建设网站步骤是1、事务 访问并可能更新数据库中数据库中各种数据线的一个程序执行单元 原子性#xff1a;事务是一个不可分割的工作单位#xff0c;一个事务要么都做要么都不做 一致性#xff1a;必须是使数据库从一个一致性到另一个一致性的状态#xff0c;中间状态不能被观察到 隔离…1、事务 访问并可能更新数据库中数据库中各种数据线的一个程序执行单元 原子性事务是一个不可分割的工作单位一个事务要么都做要么都不做 一致性必须是使数据库从一个一致性到另一个一致性的状态中间状态不能被观察到 隔离性一个事务的执行不能被其他事务干扰 持久性一个事务一旦提交对数据库中的数据的改变是永久的 2、本地事务 Transational 大多数场景下我们的应用都只需要操作单一的数据库称为本地事务 3、常见分布式事务解决方案   seata消息队列sagaXA 都是“两阶段(2Pc)”两阶段是指完成整个分布式事务划分为两个步骤 这四种常见的解决方案分别对应分布式的四种模式AT、TCC、Saga、XA 一、概念 1、Seata Seata是一款开源的分布式事务解决方案提供高性能和简单已用的分布式事务服务。Seata将用户提供了AT、TCC、SAGA和XA事务模式为用户打造一站式解决方案。 官网http://seata.io/zh-cn/index.html 源码https://github.com/seata/seata 2、三大角色 TC(Transaction Coordinator)事务协调者 维护全局和分支事务的状态驱动全局事务提交或回滚 TM(Transaction Manager)事务管理器 定义全局事务的范围开始全局事务提交或回滚全局事务 RM(Resource Manager)资源管理器 管理分支事务处理的资源与TC交谈以注册分支事务和报告分支事务的状态并驱动分支事务提交或回滚 二、二阶段提交协议 三阶段提交协议3PC难实现主流还是2PC协议。 2PC两阶段提交Prepare和Commit 询问协调者向所有参与者发送事务请求询问是否可执行事务操作然后等待各个参与者的响应执行各个参与者接收到协调者事务请求后执行事务操作并将undo和redo信息记录事务日志响应如果参与者成功执行了事务并写入Undo和redo信息则向协调者返回YES响应否则返回NO响应 遇到的问题 同步阻塞参与者在等待协调者的指令时其实实在等待其他参与者的响应此过程中参与者是无法进行其他操作的也就是阻塞了运行如果存在网络异常等原因会一直阻塞下去 单点在2PC中一切请求都来自协调者所以协调者的地位是至关重要的如果协调者宕机参与者会一直阻塞并且占用事务资源。如果协调者也是分布式使用选主方式提供服务俺么在一个协调者挂掉后可以获取另一个协调者继续后续的服务。但是新的协调者无法知道上一个事务的全部状态信息所以无法顺序处理上一个事务 数据不一致commit事务过程中commit请求和rollback请求可能因为协调者宕机成协调者与参与者网络问题丢失导致部门参与者没有收到请求而其他参与者已经执行了导致数据不一致 环境可靠性依赖协调者prepare请求发出后等待响应如果有参与者宕机或网络中断都会导致协调者无法收到所有参与者的响应那么2PC中协调者会等到一定时间超时后触发事务中断这个过程中协调者和其他参与者都是阻塞。 三、AT模式(Auto transcation) 无侵入的分布式事务解决方案 一阶段Seata会拦截业务SQL解析SQL语句找到SQL要更新的业务数据在业务数据被更新前保存成“before image”相当于undo然后执行“业务SQL”更新业务数据在业务数据更新之后在保存成“after image”最后生成行锁。以上操作在一个数据库事务内完成保证一阶段操作的原子性。 二阶段提交如果是提交的胡啊因为业务SQL在一阶段已经提交至数据库所以seata框架只需要将一阶段保存的快照数据和行锁删掉完成数据清理。如果是回滚的话需要回滚一阶段已经执行的业务SQL还原业务数据回滚方式是用before image在还原前要首先校验脏写对比数据库当前业务数据和after image如果两个数据完全一致就说明没有脏写可以还原业务数据如果不一致说明有脏写就需要人工处理。 四、TCC模式 侵入性强并且自己实现相关事务控制逻辑整个过程基本没有锁性能更强     需要用户根据自己的业务场景实现try、confirm和cancel三个操作。事务发起方在一阶段执行try方式在二阶段提交执行confirm方法二阶段回滚执行cancel方法。 五、DEMO Seata分TC、TM和RM三个角色TCServer端为单独服务端部署TM和RMClient端由业务系统集成。 1、资源目录 client存放client端sql脚本 (包含 undo_log表) 参数配置config-center各个配置中心参数导入脚本config.txt(包含server和client原名nacos-config.txt)为通用参数文件serverserver端数据库脚本 (包含 lock_table、branch_table 与 global_table) 及各个容器配置 2、Server端 Server端存储模式store.mode现有file、db、redis三种后续将引入raft,mongodb file模式默认为单机模式全局事务会话信息内存中读写并持久化本地文件root.data性能较高; db模式为高可用模式全局事务会话信息通过db共享相应性能差些;redis模式Seata-Server 1.3及以上版本支持,性能较高,存在事务信息丢失风险,请提前配置合适当前场景的redis持久化配置. 步骤 在seata官网的下载页面可以查询到对应支持的springboot版本号 这里使用的是springboot2.7.13seata对应版本1.5.2win上配置DBNOCOS 1启动包 下载后解压缩 2修改store.mode 启动包: seata--conf--application.yml修改store.modedb或者redis 启动包: seata--conf--application.example.yml中附带额外配置将其db|redis相关配置复制至application.yml,进行修改store.db或store.redis相关属性。 server:   port: 7091 spring:   application:     name: seata-server logging:   config: classpath:logback-spring.xml   file:     path: ${user.home}/logs/seata   extend:     logstash-appender:       destination: 127.0.0.1:4560     kafka-appender:       bootstrap-servers: 127.0.0.1:9092       topic: logback_to_logstash console:   user:     username: seata     password: seata seata:   config:     type: nacos     nacos:       server-addr: 127.0.0.1:8848       namespace:       group: SEATA_GROUP       username: nacos       password: nacos       data-id: seataServer.yml   registry:     type: nacos     nacos:       application: seata-server       server-addr: 127.0.0.1:8848       group: SEATA_GROUP       namespace:       cluster: default       username: nacos       password: nacos   store:     mode: db     db:       datasource: druid       db-type: mysql       driver-class-name: com.mysql.jdbc.Driver       url: jdbc:mysql://127.0.0.1:3306/seata_server?rewriteBatchedStatementstrue       user: root       password: root       min-conn: 5       max-conn: 100       global-table: global_table       branch-table: branch_table       lock-table: lock_table       distributed-lock-table: distributed_lock       query-limit: 100       max-wait: 5000   security:     secretKey: SeataSecretKey0c382ef121d778043159209298fd40bf3850a017     tokenValidityInMilliseconds: 1800000     ignore:       urls: /,/**/*.css,/**/*.js,/**/*.html,/**/*.map,/**/*.svg,/**/*.png,/**/*.ico,/console-fe/public/**,/api/v1/auth/login 3建表 全局事务会话信息由3块内容构成 全局事务global_table分支事务branch_table全局锁lock_table 4) config.txt \seata-server-1.5.2\seata\script\config-center\config.txt 其他的例如数据库、redis根据自己的配置更改 本地登录http://localhost:8848/nacos # 注意配置事务配置事务分组名称default # Seata 事务分组 service.vgroupMapping.default_tx_groupdefault 5注册到nacos中 # 本地127.0.0.1可以直接运行 \seata-server-1.5.2\seata\script\config-center\nacos\nacos-config.sh # 远程服务端 sh ${SEATAPATH}/script/config-center/nacos/nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -T 5a3c7d6c-f497-4d68-a71a-2e5e3340b3ca -hhost服务端ip地址默认localhost-pportnacos端口号默认值8848-g配置分组默认值为SEATA_GROUP-t组合信息对应Nacos的命名空间ID字段默认值为空 6启动服务 本地win直接运行 seata-server-1.5.2\seata\bin\seata-server.bat 如果是远端服务器 seata-server.sh -h 127.0.0.1 -p 8091 -m db -n 1 -e test 参数全写作用备注-h --host指定在注册中心注册的IP不指定获取当前的IP外部访问不熟在云环境和容器中的sevrer建议指定-p--port 指定server启动的端口 默认8091-m--storeMode事务日志存储方式支持file\db\redis默认file (Seata-Server 1.3及以上版本支持redis)-n--serverNode只用seata-server的节点ID       默认1-e--seataEnv  指定seata-server运行环境参考 http://seata.io/en-us/docs/ops/multi-configuration-isolation.html 3、Client端 步骤 1建表 2依赖 版本说明https://github.com/alibaba/spring-cloud-alibaba/wiki 官方步骤https://seata.io/zh-cn/docs/ops/deploy-guide-beginner.html 【注意】网上学习视频很多有些时间很老版本不适用你现在使用的springboot或者cloud主要还是要多看官网的给的案例步骤以及对照版本否则版本之间可能会存在很多报错。 最开始使用的是seata-spring-boot-starter全局事务开启后发现product还是不能回滚跨服务传递XID不同所以没有回滚。看了一部分解决方法都没有解决只有传递XID或者配置拦截感觉不是最好的解决方式。最后参考官网后发现以下就改用了包。 依赖spring-cloud-alibaba-seata内部集成了seata并实现了xid传递 !-- 微服务 --dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-dependencies/artifactIdversion2.7.13/versiontypepom/typescopeimport/scope/dependencydependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-dependencies/artifactIdversion2021.0.7/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-alibaba-dependencies/artifactIdversion2021.1/versiontypepom/typescopeimport/scope/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-discovery/artifactIdversion2021.0.1.0/versionexclusionsexclusiongroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-netflix-ribbon/artifactId/exclusion/exclusions/dependencydependencygroupIdio.seata/groupIdartifactIdseata-spring-boot-starter/artifactIdversion1.4.2/version/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-seata/artifactIdversion2021.0.5.0/versionexclusionsexclusiongroupIdio.seata/groupIdartifactIdseata-spring-boot-starter/artifactId/exclusion/exclusions/dependency!--各个服务上单独添加--dependencygroupIdorg.springframework.cloud/groupIdartifactIdspring-cloud-starter-loadbalancer/artifactId/dependencydependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-nacos-config/artifactId/dependency 3配置文件 #以order为例product同理 server.port1224 spring.application.nameorderspring.datasource.typecom.alibaba.druid.pool.DruidDataSource spring.datasource.driver-class-namecom.mysql.cj.jdbc.Driver spring.datasource.urljdbc:mysql://localhost:3308/seata?useSSLfalseuseUnicodetruecharacterEncodingutf-8 spring.datasource.usernameroot spring.datasource.passwordrootspring.cloud.nacos.discovery.server-addr127.0.0.1:8848seata.tx-server-gropuporder-seata-service-groupseata.registry.typenacos seata.registry.nacos.server-addr127.0.0.1:8848 seata.registry.nacos.applicationseata-server seata.registry.nacos.usernamenacos seata.registry.nacos.passwordnacos seata.registry.nacos.groupSEATA_GROUPseata.config.typenacos seata.config.nacos.server-addr127.0.0.1:8848 seata.config.nacos.usernamenacos seata.config.nacos.passwordnacos seata.config.nacos.groupSEATA_GROUPmybatis.mapper-locationsclasspath:mapper/*.xmlmybatis.configuration.log-implorg.apache.ibatis.logging.stdout.StdOutImpl sql.showSjSqltrue 4代码 //启动类加上远程调用 EnableFeignClients EnableDiscoveryClien
http://www.zqtcl.cn/news/442777/

相关文章:

  • 郑州好的网站设计公司软件开发哪里学好
  • 网站新建设请示软件外包平台哪家可信赖
  • 做阿里巴巴还是做网站好安卓手机怎么做网站
  • 社区智慧警务网站如何推进警务室建设方案广东网络推广服务
  • 东莞艺美网站建设wordpress get header
  • 做玩具什么 网站比较好网址域名
  • 网站做用户登录中国建设部官方网站资格证查询
  • 济宁网站建设公司大型餐饮网站建设
  • 昊源建设监理有限公司网站做那种的视频网站有哪些
  • wordpress滑块代码seo外链增加
  • 衡阳网站建设公司地址书店网站怎么做
  • 如何检查网站是否做cdn加速html网页基础代码
  • 做网站的岗位好吗钓鱼网站到底怎么做
  • 大连做网站那个公司最好wordpress+高清背景
  • 怎样做网站xml案例建网站
  • 海口发布最新通告用二级域名做网站对seo
  • 网站301重定向 权重转移网站不用下载免费软件
  • 网站系统升级昆明做百度网站电话
  • 电子商务与网站建设实践论文wordpress 主题目录
  • 网站页面打不开中小企业网站推广
  • 佛山建网站企业网站怎么维护
  • 网站制作报价明细wordpress喜欢
  • 网站开发2008文化传播有限公司网站建设
  • 个人账号如何注册网站广州专业网站改版设计公司
  • wordpress视频网站采集沈阳建设工程质量检测中心网站
  • 做网站优化哪家好远程管理wordpress站群
  • 实用写作网站做企业策划的公司
  • 如何建立自己手机网站58招聘网站官网
  • 网站程序源码下载网站怎么做定位功能
  • 深圳vi设计公司联系西安seo诊断