git基础(1)--相关概念

分布式系统简介
(1)一些概念:

集群:在多台不同的服务器中部署相同应用或服务模块,构成一个集群,通过负载均衡设备对外提供服务(如数据库的主从,读写分离);
伪分布式:将多台主机的任务放到一台主机上执行,本是部署于多个主机上的模块位于同一主机上时无法并行执行,只能并发执行,处理速度上有差异;
分布式:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统,具有独立性;
集中式:由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。也就是说,集中式系统中,每个终端或客户端仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。
随着业务量和需求的扩张,对计算机性能和速度的要求越来越高,单机由于硬件资源的限制无法满足其对存储量和计算能力的要求,因此引入了分布式系统,将单机版的程序扩展到大量主机上进行分布式运行,但会极大的增加程序的复杂度和开发难度。

(2)分布式系统的特点:

分布性,分布式系统中的多台计算机之间在空间位置上可以随意分布,系统中的多台计算机之间没有主、从之分,即没有控制整个系统的主机,也没有受控的从机。
透明性,系统资源被所有计算机共享。每台计算机的用户不仅可以使用本机的资源,还可以使用本分布式系统中其他计算机的资源(包括CPU、文件、打印机等)。
同一性,系统中的若干台计算机可以互相协作来完成一个共同的任务,或者说一个程序可以分布在几台计算机上并行地运行。
通信性,系统中任意两台计算机都可以通过通信来交换信息。
⑤不存在全局时钟。
⑥通信不可靠。(分布式系统的两个本质难点)

(3)分布式系统的分类:

①分布式存储(NoSQL,Key-Value存储)
②分布式计算(MapReduce),传统的并行运算要求:投入更多机器,数据大小不变,计算速度更快;分布式计算要求:投入更多机器,可以处理更大的数据
③分布式管理(如分布式操作系统,分布式版本控制系统等)

(4)分布式系统与集中式系统的对比:

如表所示。
在这里插入图片描述

(5)版本控制系统:

版本控制是指对软件开发过程中各种程序代码、配置文件及说明文档等文件变更的管理,其最主要的功能就是追踪文件的变更。

(6)git(Distributed Version Control)与CVS(Centralized Version Control)/SVN的对比:

①集中式版本控制系统的最主要特点是其开发者的合作方式为共用一个版本库,其三大重点为同步(同步方式有锁定(即互斥锁,同一时间同一文件仅能有一位开发者进行操作)与合并(允许同时操作,若提交结果产生冲突则自动合并,合并失败则人工合并),同步本身是为了所有开发作出的所有改动都同步给所有开发者,使全部版本保持一致),追溯(即版本回退,保存版本内容及改动/说明),档案备份(让所有的受控档案集中保管并备份),其要求网络并无法将修改过程中的多个阶段划分为不同版本(有些阶段不稳定,若提交则可能产生混乱,若不提交则阶段性的版本丢失无法共享)。
②分布式版本控制系统的最主要特点是其版本库在每一个开发者本地,且工作文件在每台主机上都有一个完整的备份,其核心不在于维持不同开发者间的同步,而在于让每个开发者拥有各自独立的变更集合,且开发者之间可分享自己的变更集合,其不要求网络并可以使用pull/push与其他主机的版本库进行交互,获取或分享版本库的变更。git也拥有集中的档案库,其用于各个主机分享交换各自的修改,但不影响各个主机独立的操作。
③其特点对比如表所示。
在这里插入图片描述
注:分布式版本控制系统与集中式版本控制系统图示如下,图源
[https://www.liaoxuefeng.com/wiki/896043488029600/896202780297248]
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值