万网个人网站建设教程做好档案整理及网站建设

pingmian/2025/10/13 9:40:58/文章来源:
万网个人网站建设教程,做好档案整理及网站建设,酒店 网站构建,海东高端网站建设文章目录 分布式服务理论基础前言微服务和分布式的区别CAP定理BASE理论 Seata流程#xff1a;seata部署微服务集成seata 分布式服务理论基础 前言 单体架构#xff1a; 1.项目过于臃肿#xff0c;所有服务在一起#xff0c;一个业务挂了#xff0c;整个项目就不能用了seata部署微服务集成seata 分布式服务理论基础 前言 单体架构 1.项目过于臃肿所有服务在一起一个业务挂了整个项目就不能用了 2.资源不能隔离所有业务用一个资源共享一个数据库如果说一个业务突然增大——导致数据库宕机了那么其他业务就会受到影响 3.扩展不灵活如果我们要对一个服务进行扩展会将整个系统水平扩展 4.所有功能得一起上线一起部署 分布式 1.数据一致性我们先说有个最明显的案例之前我们的单体架构中数据库是多个服务共享的所以事务是ACID的但是分布式中每个微服务都有自己独立的数据库你一个业务串了多个服务那么分布式下的微服务链路原子性就不能保证了——比如下面 例子创建订单扣减用户余额扣减库存涉及三个服务在订单业务中远程调用两个服务我们创建一个订单假设库存为10我们下单11个按道理来说我们是想库存服务和订单服务还有账户服务是会回滚的因为下单超过库存数但是实际上只有库存服务会回滚自己的数据库其余的账户服务和订单服务都会成功 原因每个服务都是独立的有自己的数据库所以事务也是独立的 **2.需要考虑网络问题**因为服务的调用十分依赖网络尤其是节点非常多链路非常长的情况下 **3.异步**引入了各种中间件GateWaymqnacosseata等等异步通信增加了功能实现的复杂度 **4.运维成本**一个系统被拆成多个服务每个服务都得配置部署 总得来说就是将原本一个系统分成多个互相调用通信的服务 微服务和分布式的区别 所以 ~ 分布式 的意思是多个模块共同完成一件事情(也可以是一个模块分多个部署)每个节点可以单独完成任务分开不同机器部署 ~ 微服务的意思也是多个模块共同完成一件事情(不管应用部署在哪里) 总结 微服务和分布式都是拆分单体应用的产物可以理解为微服务只是对服务拆分的形容词分布式是对服务部署方面的考量微服务是可以包含分布式的但是分布式不一定是微服务 CAP定理 分区因为网络故障导致分布式中部分节点与其他节点失去连接从而形成独立分区——一定会有的 解决 让node03节点等待网络的恢复在恢复之前不允许访问——满足了一致性不满足可用性 因为分布式系统中我们的服务节点一定是通过网络连接的那么就一定会出现分区问题毕竟你网络是不能保证百分百良好的 思考 因为es集群当有一个节点宕机时过了一定时间它会被剔除那么我们就访问不到它了牺牲了可用性但是节点上的数据会被分到其他节点上从而保证了一致性所以是CP 这里回顾一下es集群 elasticsearch搭建集群-CSDN博客 突然想到了EureKa和Nacos中的区别里面也涉及AP、CP 区别 Nacos支持服务端主动检测服务提供者状态临时实例采用心跳模式非临时实例采用服务器主动访问模式 临时实例心跳不正常会被踢出非临时实例则不会被剔除 Nacos支持服务列表消息推送模式即时更新 补充 nacos、EureKa涉及ap、cp模式 CP和AP是什么有什么区别-CSDN博客 BASE理论 牛逼之处部分的损失可用A临时的不一致——最终的一致性C权衡 Seata 目的解决分布式系统的事务问题 流程 1.首先TC是维护协调整个全局的事务的帮助事务进行提交和回滚相当于分布式事务一个总的大杂烩 ——2.而作为分布式系统是有个入口的因为我们的微服务之间的调用每调用一个服务就是一个事务出现也就是说我们这个入口管理了整个服务调用的一个范围所以说TM事务管理器就相当于全局事务的入口定义了事务范围然后开启全局事务 ——3.TC它会判断我们的全局服务是否进行提交与回滚 ——4.但是在此之前因为全局事务里面有分支事务分支事务提交就与RM有关管理分支事务处理向TC进行注册事务并且执行对应的sql然后报告状态给TC但是RM此时是没有回滚和提交效果的说白了也就是执行了服务而已但是并没有提交 ——5.TC会进行验证服务状态来判断最后是提交还是回滚由TM处理 总结TM和RM是和业务有关的对服务进行管理而TC是独立出来的维护分支服务状态的 seata部署 新建配置中配置内容: # 数据存储方式db代表数据库 store.modedb store.db.datasourcedruid store.db.dbTypemysql store.db.driverClassNamecom.mysql.jdbc.Driver store.db.urljdbc:mysql://127.0.0.1:3306/seata?useUnicodetruerewriteBatchedStatementstrue store.db.userroot store.db.password123456 store.db.minConn5 store.db.maxConn30 store.db.globalTableglobal_table store.db.branchTablebranch_table store.db.queryLimit100 store.db.lockTablelock_table store.db.maxWait5000 # 事务、日志等配置 server.recovery.committingRetryPeriod1000 server.recovery.asynCommittingRetryPeriod1000 server.recovery.rollbackingRetryPeriod1000 server.recovery.timeoutRetryPeriod1000 server.maxCommitRetryTimeout-1 server.maxRollbackRetryTimeout-1 server.rollbackRetryTimeoutUnlockEnablefalse server.undo.logSaveDays7 server.undo.logDeletePeriod86400000# 客户端与服务端传输方式 transport.serializationseata transport.compressornone # 关闭metrics功能提高性能 metrics.enabledfalse metrics.registryTypecompact metrics.exporterListprometheus metrics.exporterPrometheusPort9898以上我们数据存储的数据库为seata我们还需要定义一个全局事务表和一个分支事务表 SET NAMES utf8mb4; SET FOREIGN_KEY_CHECKS 0;-- ---------------------------- -- 分支事务表 -- ---------------------------- DROP TABLE IF EXISTS branch_table; CREATE TABLE branch_table (branch_id BIGINT(20) NOT NULL,xid VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,transaction_id BIGINT(20) NULL DEFAULT NULL,resource_group_id VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,resource_id VARCHAR(256) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,branch_type VARCHAR(8) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,status TINYINT(4) NULL DEFAULT NULL,client_id VARCHAR(64) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,application_data VARCHAR(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,gmt_create DATETIME NULL DEFAULT NULL,gmt_modified DATETIME NULL DEFAULT NULL,PRIMARY KEY (branch_id) USING BTREE,INDEX idx_xid(xid) USING BTREE ) ENGINE INNODB CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT COMPACT;-- ---------------------------- -- 全局事务表 -- ---------------------------- DROP TABLE IF EXISTS global_table; CREATE TABLE global_table (xid VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL,transaction_id BIGINT(20) NULL DEFAULT NULL,status TINYINT(4) NOT NULL,application_id VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,transaction_service_group VARCHAR(32) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,transaction_name VARCHAR(128) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,timeout INT(11) NULL DEFAULT NULL,begin_time BIGINT(20) NULL DEFAULT NULL,application_data VARCHAR(2000) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL,gmt_create DATETIME NULL DEFAULT NULL,gmt_modified DATETIME NULL DEFAULT NULL,PRIMARY KEY (xid) USING BTREE,INDEX idx_gmt_modified_status(gmt_modified, status) USING BTREE,INDEX idx_transaction_id(transaction_id) USING BTREE ) ENGINE INNODB CHARACTER SET utf8 COLLATE utf8_general_ci ROW_FORMAT COMPACT;SET FOREIGN_KEY_CHECKS 1;seata部署成功 目的完成分布式事务管理形成TMRM代理我们的分布式事务 微服务集成seata dependencygroupIdcom.alibaba.cloud/groupIdartifactIdspring-cloud-starter-alibaba-seata/artifactIdexclusions!--版本较低1.3.0因此排除--exclusionartifactIdseata-spring-boot-starter/artifactIdgroupIdio.seata/groupId/exclusion/exclusions /dependency !--seata starter 采用1.4.2版本-- dependencygroupIdio.seata/groupIdartifactIdseata-spring-boot-starter/artifactIdversion${seata.version}/version /dependencyseata-tc-server服务的确定需要再nacos注册中心中进行寻找服务地址namespace默认值分组groupapplication事务组集群 **事务组**相当于管理分布式系统中里面的微服务订单库存…这些服务把他们进行管理这些管理的大组为事务组我们可以根据这个获取TC节点 seata:registry:type: nacosnacos:server-addr: 127.0.0.1:8848namespace: group: DEFAULT_GROUPapplication: seata-tc-serverusername: nacospassword: nacos#事务组名称tx-service-group: seata-demoservice:#配置映射关系vgroup-mapping:seata-demo: SH

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/88267.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云霄建设局网站深圳市国外网站建设

文章目录 Redis 给缓存数据设置过期时间有啥用?Redis是如何判断数据是否过期的呢?过期的数据的删除策略了解么? Redis 给缓存数据设置过期时间有啥用? 一般情况下,我们设置保存的缓存数据的时候都会设置一个过期时间。…

那个视频网站可以做桌面背景郑州网站公司排名

Spring上个版本的IoC容器支持两个不同的bean作用域(单例与原型)。Spring 2.0改进了这一点,不仅提供了一些依赖于Spring部署环境(比如说,在web环境中的request和session作用域bean)的额外的作用域,而且提供了…

极简建站成都网站建设千古互联

🎃个人专栏: 🐬 算法设计与分析:算法设计与分析_IT闫的博客-CSDN博客 🐳Java基础:Java基础_IT闫的博客-CSDN博客 🐋c语言:c语言_IT闫的博客-CSDN博客 🐟MySQL&#xff1a…

成都搭建企业网站开通网站费可以做待摊费用吗

液体火箭发动机技术国家级重点实验室2021年度对外开放项目指南 人工智能技术与咨询 国家级重点实验室 简介 西安航天动力研究所液体火箭发动机技术国家级重点实验室瞄准面向航天运输系统对液体火箭发动机技术的需求,重点开展基础性、创新性和重大关键技术的预先研…

宁波行业网站建设旅游网页设计模板网站

问题描述 在快速碰撞刚性环境的机器人低阻抗控制中,需要通过精确的碰撞检测和处理,以及低阻抗控制策略的优化,来减少碰撞对机器人和环境的影响。同时,我们还需要适应刚性环境,提高机器人的稳定性和鲁棒性,…

永嘉规划建设局网站建设一个营销网站的费用

请输入A串信息:abcdef 请输入B串信息:ac abcdefac B串的长度是:2 B不是A的子串&#xff0c;请重新输入B的值: ad B不是A的子串&#xff0c;请重新输入B的值: abcde A-B后的结果是:f #include <stdio.h>#define MAX 100void fun(char* a, char *b, char *c) {int ai 0;…

自助建站最大wordpress 阿里大鱼

在敏捷开发过程中是通过用户故事来将需求具体化成可以进行迭代开发的一个个现实的可见的开发任务。因此在敏捷软件的开发过程中&#xff0c;用户故事的划分对于迭代和开发起着举足轻重的作用。 用户故事从其名字来看是站在用户的角度所描述的故事&#xff0c;同时也是用户所能看…

表单大师 做网站网站改版推荐

目录 1.1 SQL语句基础&#xff08;SQL命令&#xff09; 1.1.1 SQL的简介 1.1.2 SQL语句的分类 1.1.3 SQL语句的书写规范 1.2 数据库操作 1.2.1 查看 1.2.2 自建库 1.2.3 切换数据库 1.2.4 删库 1.3 MySQL字符集 1.3.1 MySQL字符集包括&#xff1a; 1.3.2 utf8 和 u…

重庆网站seo服务器租用大概多少钱

Java本身就支持多国语言编码&#xff0c;不需要写任何程序&#xff0c;可以很简单的 实现。 秘诀就是两点&#xff1a; 1、所有HTML/JSP页面全部采用UTF-8编码 2、客户端浏览器完全支持UTF-8编码 步骤&#xff1a; 1、首先把所有的HTML/JSP的ContentType都设为UTF-8 2、然后…

旅游商城网站模板免费下载如意影院

随着科技的飞速发展和移动互联网的普及&#xff0c;线上娱乐方式也变得越来越多样化。为了满足广大用户对于新鲜、有趣的娱乐体验的需求&#xff0c;我们决定开发一款淘宝扭蛋机小程序&#xff0c;为用户带来全新的线上扭蛋乐趣。 淘宝扭蛋机小程序将结合淘宝平台的优势资源&a…

全屏网站帮助wordpress优化方案

链表去重是数据结构中一个常见的问题&#xff0c;它涉及到遍历链表、比较节点值以及修改链表结构等操作。链表去重的目的是删除链表中重复的元素&#xff0c;使得每个元素在链表中只出现一次。这个问题在实际应用中具有广泛的用途&#xff0c;比如在处理用户数据、优化搜索引擎…

四川星星建设集团有限公司网站企业网站优化哪家好

为了编写一个完整的Modbus TCP库&#xff0c;您需要遵循以下步骤&#xff1a; 1. 安装NModbus4库&#xff1a;NModbus4是一个用于C#的Modbus库&#xff0c;它支持串口和TCP通信。您可以通过NuGet包管理器安装它。 2. 创建Modbus主机&#xff1a;使用ModbusIpMaster.CreateIp方…

沧浪企业建设网站价格用html制作个人博客

目录 1、设备列表及操作列表 2、登录机器 Shell 执行命令 3、桌面远程访问 4、远程设备的进程管理 5、远程设备文件管理 今天要给大家推荐一个开源的跨平台多功能远程控制和监控工具&#xff1a;Spark。 目前该项目处于不维护状态&#xff0c;大家可以自己根据需要进行扩…

安庆做网站的公司画册设计说明

​ 一、噪声系数的定义 在定义噪声系数之前&#xff0c;先看一个放大器输入输出端信噪比&#xff08;信号功率与噪声功率之比&#xff0c;写作SNR&#xff09; 对比图&#xff1a; ​​从上图可用看出&#xff0c;从输入端到输出端&#xff0c;信号和噪声功率都得到了放大&…

戴尔网站建设和维护有什么网站建设软件

本文引用自&#xff1a; 金融风控&#xff1a;信用评分卡建模流程 - 知乎 (zhihu.com) 在原文的基础上加上了一部分自己的理解&#xff0c;转载在CSDN上作为保留记录。 本文涉及到的数据集可直接从天池上面下载&#xff1a; Give Me Some Credit给我一些荣誉_数据集-阿里云…

vps网站无法通过ip访问php网站用的是什么语言写的

git仓库的推送问题 推送问题 先说结论。先拉取&#xff0c;pull拉取完之后再commi提交。 如果先提交&#xff0c;再拉取的话&#xff0c;git会提示项目冲突&#xff0c;此时需要先解决冲突&#xff0c;而某些时候&#xff0c;我们不一定会处理好所有的冲突&#xff0c;而导致…

做网站好还是阿里巴巴网站设计与开发实验报告

本文翻译自Danny Markov 的20-Tips-For-Writing-Modern-CSS一文。 本文归纳于笔者的Web Frontend Introduction And Best Practices:前端入门与最佳实践中CSS入门与最佳实践系列&#xff0c;其他的关于CSS样式指南的还有提升你的CSS姿势、Facebook里是怎样提升CSS代码质量的。本…

鞍钢建设集团网站wordpress里面的附件如何导出

问题 在工作中 Ubuntu 20.04 桌面版因挂机或不当操作&#xff0c;意外导致如下问题 1、 Ubuntu 网络连接图标消失 2、 有线未托管 上图中展示的是 有线 已连接 &#xff0c;故障的显示 有线 未托管 或其他字符 3、 ”设置“ 中缺少”网络“选项 上图是设置界面&#xff0c…

做网站横幅的图片多大做自己的网站流量怎么

文章目录 &#x1f412;个人主页&#x1f3c5;算法思维框架&#x1f4d6;前言&#xff1a; &#x1f380;插入排序 时间复杂度O(n^2)&#x1f387;1. 算法步骤思想&#x1f387;2.动画实现&#x1f387; 3.代码实现 &#x1f380;希尔排序 时间复杂度O(n*logn~n^2)希尔排序的设…

常熟响应式网站怎么做自己的电影网站

使用手动连接&#xff0c;将登录框中的取消按钮使用qt4版本的连接到自定义的槽函数中&#xff0c;在自定义的槽函数中调用关闭函数 将登录按钮使用qt5版本的连接到自定义的槽函数中&#xff0c;在槽函数中判断ui界面上输入的账号是否为"admin"&#xff0c;密码是否为…