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

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

一、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.mzph.cn/news/846337.shtml

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

相关文章

力扣575. 分糖果

题目: Alice 有 n 枚糖,其中第 i 枚糖的类型为 candyType[i] 。Alice 注意到她的体重正在增长,所以前去拜访了一位医生。 医生建议 Alice 要少摄入糖分,只吃掉她所有糖的 n / 2 即可(n 是一个偶数)。Alic…

智能监控技术助力山林生态养鸡:打造智慧安全的养殖新模式

随着现代科技的不断发展,智能化、自动化的养殖方式逐渐受到广大养殖户的青睐。特别是在山林生态养鸡领域,智能化监控方案的引入不仅提高了养殖效率,更有助于保障鸡只的健康与安全。视频监控系统EasyCVR视频汇聚/安防监控视频管理平台在山林生…

攻防世界---misc---心仪的公司

1、题目描述 2、下载附件是一个流量包 方法一: 1、用winhex分析,ctrlf搜索flag 2、尝试将搜索到的flag拿去提交,但是不对 3、担心flag不是长flag,做题多了你就会发现有些flag会是fl4g这种,为了可以稍微全面一点&…

6.2 休息日 背包问题总结

就目前所遇到的01背包与完全背包作总结。 01背包 有n件物品和一个最多能背重量为w 的背包。第i件物品的重量是weight[i],得到的价值是value[i] 。每件物品只能用一次,求解将哪些物品装入背包里物品价值总和最大。 二维dp数组01背包 动规五部曲 1.确定…

IO流(2)

缓冲流 字节缓冲流 利用字节缓冲区拷贝文件,一次读取一个字节: public class test {public static void main(String [] args) throws IOException {//利用字节缓冲区来拷贝文件BufferedInputStream bisnew BufferedInputStream(new FileInputStream(&…

STM32作业实现(四)光敏传感器

目录 STM32作业设计 STM32作业实现(一)串口通信 STM32作业实现(二)串口控制led STM32作业实现(三)串口控制有源蜂鸣器 STM32作业实现(四)光敏传感器 STM32作业实现(五)温湿度传感器dht11 STM32作业实现(六)闪存保存数据 STM32作业实现(七)OLED显示数据 STM32作业实现(八)触摸按…

Java网络编程(上)

White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🙉 内容推荐:Java文件IO🙉 🐹今日诗词:来如春梦几多时?去似朝云无觅处🐹 ⛳️点赞 ☀️收藏⭐️关注💬卑微小博主&a…

【Qt知识】disconnect

在Qt框架中,disconnect函数用于断开信号与槽之间的连接。当不再需要某个信号触发特定槽函数时,或者为了防止内存泄漏和重复执行问题,你可以使用disconnect来取消这种关联。disconnect函数的基本用法可以根据不同的需求采用多种形式&#xff0…

C++对C的增强

1、作用域运算符 ::解决归属问题(谁是谁的谁) 可以优先使用全局变量 2、命名空间 使用关键字namespace,控制标名称的作用域。 命名空间的本质:对符号常量、变量、函数、结构、枚举、类和对象等等进行封装 1、创建一个命名空间…

图解DSPy:Prompt的时代终结者?!

大模型技术论文不断,每个月总会新增上千篇。本专栏精选论文重点解读,主题还是围绕着行业实践和工程量产。若在某个环节出现卡点,可以回到大模型必备腔调重新阅读。而最新科技(Mamba,xLSTM,KAN)则提供了大模…

多元联合分布建模 Copula python实例

多元联合分布建模 Copula python实例 目录 库安装 实例可视化代码 库安装 pip install copulas 实例可视化代码 import numpy as np import pandas as pd from copulas.multivariate import GaussianMultivariate# Generate some example data np.random.seed(42) data = …

ChatTTS:开源最强文本转真人语音工具

目录 1.前言 2.详细介绍 2.1 什么是ChatTTS 2.2 项目地址: 2.3 应用特点: 3.如何安装和使用 3.1.谷歌colab 3.1.1.点击链接 3.1.2 进行保存 3.1.3 按照流程依次点击运行 3.1.4 填写自己需要转的文字 3.2 本地运行 3.2.1 下载或克隆项目源码到本地 3.2.2 …

算法每日一题(python,2024.05.31)

题目来源(力扣. - 力扣(LeetCode),简单) 解题思路: 二次遍历,第一次遍历用哈希表记录每个字母的出现次数,出现一次则将它的value值赋为True,将它的下标赋为key值&#x…

HTTPS加密

一.加密是什么 加密就是把明文(要传输的信息)进行一系列的变换,生成密文. 有加密就有解密,解密就是把密文进行一系列的变换,生成明文. 在这个加密和解密过程中,往往需要一个或多个中间数据,辅助进行这个过程,这样的数据称为密钥. 加密解密到如今已经发展成了一个独立的学科 : 密…

基于Springboot开发的外卖餐购项目(后台管理+消费者端)

免费获取方式↓↓↓ 项目介绍039: 系统运行 后端登录页: http://localhost:8081/backend/page/login/login.html 消费端请求:消费端主页: http://localhost:8081/front/index.html 管理员账号 admin 123456 消费者不需要登录 采用技术栈 前端:Eleme…

力扣20 有效的括号

给定一个只包括 (,),{,},[,] 的字符串 s ,判断字符串是否有效。 有效字符串需满足: 左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括…

【智能算法】红嘴蓝喜鹊优化算法(RBMO)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献5.代码获取 1.背景 2024年,S Fu受到自然界中红嘴蓝喜鹊社会行为启发,提出了红嘴蓝喜鹊优化算法(Red-billed Blue Magpie Optimizer, RBMO)。 2.算法原理 2.1算…

MicroBlaze 处理器参考指南

概述 本章包含MicroBlaze功能的概述和详细信息MicroBlaze架构包括Big-Endian或Little-Endian位反转格式,32位或64位通用寄存器,虚拟内存管理,缓存软件支持,和AXI4-Stream接口 简介 MicroBlaze嵌入式处理器软核是一个精简指令集…

[JS] 前端充分使用console.log()有效输出(2024-6-1)

将变量包装在对象中 不要使用 console.log(url, url2, baz),而是使用 console.log({ url, url2, baz })。 如果你比较这两者,你会发现这有多么有用:拥有 url 和 url2 键可以避免这两个 URL 之间的混淆。 在日志前加上唯一字符串前缀 在应用…

开箱即用的Spring Boot 企业级开发平台【毕设项目推荐】

项目概述 基于 Spring 实现的通用权限管理平台(RBAC模式)。整合最新技术高效快速开发,前后端分离模式,开箱即用。 核心模块包括:用户、角色、职位、组织机构、菜单、字典、日志、多应用管理、文件管理、定时任务等功能…