虚拟现实环境下的远程教育和智能评估系统(三)

本周继续进行开发工具的选择与学习,基本了解了以下技术栈的部署应用;

一、Seata:

Seata(Simple Extensible Autonomous Transaction Architecture)是一款开源的分布式事务解决方案,旨在提供高性能和简单易用的分布式事务服务。它为企业提供了简单、可扩展和自治的事务管理服务,解决了在分布式环境下数据一致性的问题。

核心概念

  1. 分布式事务:在分布式系统中,一个业务操作可能需要多个服务或数据库协同完成,这就构成了分布式事务。Seata旨在保证这些分布式事务的原子性、一致性、隔离性和持久性(ACID属性)。

  2. Seata架构

    • Global Transaction Manager(全局事务管理器):负责协调和管理分布式事务,确保全局事务的一致性。
    • Registry Service(注册中心服务):负责存储和管理全局事务的状态信息,提供事务状态的查询和更新功能。
    • Branch Transaction(分支事务):分布式事务中的每个参与者,负责本地事务的执行和管理。
  3. 事务模式

    • AT模式:这是阿里首推的模式,Seata会拦截SQL语句,对业务无侵入,只需关注自己的业务SQL。
    • TCC模式:分为Try、Confirm和Cancel三个阶段。Try阶段尝试执行,Confirm阶段确认提交,Cancel阶段回滚。
    • SAGA模式:一种状态补偿型的事务模式,通过事件或者指令触发一系列有序操作,实现业务目标。
    • XA模式:两阶段提交协议的分布式事务模式,由事务协调器来协调参与者的行为。
  4. 角色划分

    • Transaction Coordinator(TC,事务协调器):维护全局和分支事务的状态,驱动全局事务提交或回滚。
    • Transaction Manager(TM,事务管理器):定义全局事务的范围,负责全局事务的开启、提交或回滚。
    • Resource Manager(RM,资源管理器):管理分支事务处理的资源,与TC通信以注册分支事务并报告状态。
  5. 使用场景:Seata适用于微服务架构、高并发场景、跨数据库操作等需要分布式事务管理的场景。

  6. 集成与兼容性:Seata提供了与主流开发框架和中间件的集成,如Spring Boot、Dubbo、RocketMQ等,具有良好的生态兼容性。

部署应用:

  • 配置数据库连接信息,包括URL、用户名和密码;
  • 配置Nacos注册中心;

启动seata-server.bat;

二、Redis:

REmote DIctionary Server(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台的非关系型数据库。Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。Redis 通常被称为数据结构服务器,因为值(value)可以是字符串(String)、哈希(Hash)、列表(list)、集合(sets)和有序集合(sorted sets)等类型。

Redis支持多种部署模式,以满足不同场景的需求:

  1. 单机模式:最简单的部署方式,适用于数据量较小、业务压力较小的场景。
  2. 主从模式:采用一台主节点进行写操作,然后将数据复制到从节点。从节点只进行读操作,以提高系统的可用性和读性能。
  3. 哨兵模式:在主从复制的基础上增加了哨兵节点,用于监控主节点的状态。当主节点宕机时,哨兵会自动将一个从节点切换成主节点,实现高可用性。
  4. 集群模式:将数据分散存储在多个Redis节点上,每个节点都包含相同数量的数据。集群模式可以提高系统的可扩展性和可靠性,适用于大规模的业务场景。

安装Redis后通过以下命令运行启动:

redis-server.exe redis.windows.conf

三、git:本项目为小组合作开发,为便于代码的频繁更新,我们采用git协同开发的方式;因此本周我还安装GitBash并学习了git的常用命令:

  • git init:初始化一个git仓库
  • git clone:clone一个git仓库
  • git config:配置信息
  • git add:添加文件到缓存命令
  • git status:查看文件的状态命令
  • git diff:查看更新的详细信息命令
  • git commit:提交命令
  • git reset HEAD:取消缓存命令
  • git rm:删除命令
  • git mv:移动或重命名命令
  • git remote add:添加远程仓库
  • git remote:查看当前的远程仓库
  • git fetchgit pull:提取远程仓仓库
  • git push:推送到远程仓库
  • git remote rm:删除远程仓库

参考博客http://t.csdnimg.cn/nZtQ7

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

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

相关文章

小程序唯品会Authorization sign

声明 本文章中所有内容仅供学习交流使用,不用于其他任何目的,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关!wx a15018601872 本文章未…

Java学习【String类详解】

Java学习【String类详解】 String的介绍及定义方式String类型的比较String类型的查找charAt()访问字符indexOf()查找下标 转化和替换数值和字符串转化大小写的转换字符串转数组格式化替换 字符串的拆分和截取split()拆分substring()截取trim()去除两边空格 StringBuilder和Stri…

521源码-免费源码下载-在线变量命名工具前端源码-新手开发者工具

更多网站源码学习教程,请点击👉-521源码-👈获取最新资源 本工具地址:在线变量命名工具前端源码-新手开发者工具 - 521源码

多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出

多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出 目录 多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出预测效果基本介绍程序设计往期精彩参考资料 预测效果 基本介绍 多输入多输出 | MATLAB实现PSO-SVM粒子群优化支持向量机多输入多输出…

Java大厂面试题第2季

一、本课程前提要求和说明 面试题1: 面试题2: 面试题3: 面试题4: 面试题5: 高频最多的常见笔试面试题目 ArrayList HashMap 底层是什么东东 JVM/GC 多线程与高并发 java集合类

JS脚本打包成一个 Chrome 扩展(CRX 插件)

受这篇博客 如何把CSDN的文章导出为PDF_csdn文章怎么导出-CSDN博客 启发,将 JavaScript 代码打包成一个 Chrome 扩展(CRX 插件)。 步骤: 1.创建必要的文件结构和文件: manifest.jsonbackground.jscontent.js 2.编写…

云计算如何助力金融科技企业实现高效运营

一、引言 随着信息技术的飞速发展,云计算作为一种新兴的计算模式,正在逐渐改变着传统金融行业的运营模式。金融科技企业作为金融行业的重要组成部分,面临着日益增长的业务需求和技术挑战。在这一背景下,云计算凭借其弹性扩展、高可用性、低成本等优势,成为金融科技企业实…

0基础学习Elasticsearch-Quick start

文章目录 1 背景2 前言3 快速部署ES4 快速部署Kibana5 发送请求给ES5.1 打开Kibana控制台5.2 通过REST API发送请求5.3 通过curl发送请求5.4 添加数据5.4.1 添加单个document5.4.2 添加多个document 5.5 搜索数据5.5.1 搜索所有documents5.5.2 match查询 6 总结 1 背景 因电商项…

CISCN 2023 初赛 被加密的生产流量

题目附件给了 modbus.pcap 存在多个协议 但是这道题多半是 考 modbus 会发现 每次的 Query 末尾的两个字符 存在规律 猜测是base家族 可以尝试提取流量中的数据 其中Word Count字段中的22871 是10进制转16进制在转ascii字符串 先提取 过滤器判断字段 tshark -r modbus.pcap …

HTML的标签(标题、段落、文本、图片、列表)

HTML的标签1 标题标签:段落标签:文本标签:图片标签:列表标签:有序列表:无序列表:定义列表:列表案例: 标题标签: 标签:h1~h6 注意:如果使用无效标…

【Linux】日志管理

一、日志进程 1、处理日志的进程 rsyslogd:系统专职日志程序 观察rsyslogd程序: ps aux | grep rsyslogd 2、常见的日志文件 1、系统主日志文件: /var/log/messages 动态查看日志文件尾部: tail -f /var/log/messages 2、安全…

Nginx实战:浏览器缓存

浏览器缓存 浏览器缓存是为了加速浏览,浏览器在用户磁盘上,对最近请求过 的文档进行存储。当访问者再次请求这个页面时,浏览器就可以从 本地磁盘显示文档,这样,就可以加速页面的阅览,缓存的方式节 约了网络…

深入分析 Android Service (完)

文章目录 深入分析 Android Service (完)1. Service 的生命周期管理2. Service 的生命周期方法2.1 onCreate()2.2 onStartCommand(Intent intent, int flags, int startId)2.3 onBind(Intent intent)2.4 onUnbind(Intent intent)2.5 onRebind(Intent intent)2.6 onDestroy() 3.…

2010-2015 年阿拉斯加北坡苔原植物功能类型连续覆盖图

ABoVE: Tundra Plant Functional Type Continuous-Cover, North Slope, Alaska, 2010-2015 2010-2015 年阿拉斯加北坡苔原植物功能类型连续覆盖图 简介 文件修订日期:2021-08-27 数据集版本: 1 摘要 该数据集以 30 米的分辨率提供了阿拉斯加北坡约 12.5 万平方…

[数据集][图像分类]轮胎纹理识别裂纹和正常轮胎分类数据集1028张2类别

数据集类型:图像分类用,不可用于目标检测无标注文件 数据集格式:仅仅包含jpg图片,每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数):1028 分类类别数:2 类别名称:["cracked","norma…

GIt快速入门(一文学会使用Git)

GIt快速入门 文章目录 GIt快速入门一、为什么要学习Git二、Git的安装1.安装Git2.下载GUI 三、Git的概念1、版本控制2、集中式控制3、分布式控制4、多人协作开发1.并行开发2.分支管理3.冲突解决4.代码审查5.分布式特性 四、Git客户端操作1.界面介绍2.提交操作3.创建分支4.合并分…

前端框架安全防范

前端框架安全防范 在现代Web开发中,前端框架如Angular和React已经成为构建复杂单页面应用(SPA)的主流工具。然而,随着应用复杂度的增加,安全问题也变得越来越重要。本文将介绍如何在使用Angular和React框架时&#xf…

HashMap在Go与Java的底层实现与区别

在Java中 在Java中hash表的底层数据结构与扩容等已经是面试集合类问题中几乎必问的点了。网上有对源码的解析已经非常详细了我们这里还是说说其底层实现。 基础架构 public class HashMap<K,V> extends AbstractMap<K,V> implements Map<K,V>, Cloneable,…

通过LabVIEW提升生产设备自动化水平

现代制造业对生产设备的自动化水平提出了越来越高的要求。使用LabVIEW这一强大的图形化编程环境&#xff0c;可以显著提升生产设备的自动化程度&#xff0c;改善生产效率和产品质量。本文将详细分析如何通过LabVIEW改善生产设备的自动化水平&#xff0c;并提供具体的实施策略与…

[数据集][图像分类]骨关节炎严重程度分类数据集14038张4分类

数据集类型&#xff1a;图像分类用&#xff0c;不可用于目标检测无标注文件 数据集格式&#xff1a;仅仅包含jpg图片&#xff0c;每个类别文件夹下面存放着对应图片 图片数量(jpg文件个数)&#xff1a;14038 分类类别数&#xff1a;4 类别名称:[“grade0”,“grade2”,“grade3…