【温故而知新】构建高可用Linux服务器(三)

时间:2022年12月02日

作者:小蒋聊技术

邮箱:wei_wei10@163.com

微信:wei_wei10

【温故而知新】构建高可用Linux服务器(三)_小蒋聊技术_免费在线阅读收听下载 - 喜马拉雅手机版欢迎收听小蒋聊技术的类最新章节声音“【温故而知新】构建高可用Linux服务器(三)”。大家好,欢迎来到小蒋聊技术。小蒋准备和大家一起聊聊技术的那些事。文字版材料在CSDN博客,“小蒋聊技术”的同名文章里。文字版地...icon-default.png?t=M85Bhttps://m.ximalaya.com/sound/593610080?from=pc

前言

大家好,欢迎来到小蒋聊技术。小蒋准备和大家一起聊聊技术的那些事。

今天小蒋继续坚持“温故而知新”的落地实践,继续和大家分享《构建高可用Linux服务器》这本部书。

作者在第一章,全面的介绍了Linux服务器。教我们如何查看Linux服务器cpu、内存、磁盘、负载等详情情况。又给我们介绍了Linux服务器的网络配置,以及开源的监控工具nagios。

在后面的章节中,主要在介绍具体的案例,例如VPN在企业中的部署和应用,如何构建企业级邮件系统,等等。那么,我们今天就来分享一个代码版本管理的案例。

代码版本管理

版本管理(Revision  control)是一种软件工程方法,在开发的过程中,确保由不同开发人员编辑的同一档案都得到更新。代码版本管理其实就是我们在日常的开发过程中,将每天、每个阶段、每个功能等要求完成之后,将我们的代码再提供给他人的一种行为。

搭建Linux高可用集群,其实就是为了运行公司这些工作必须要使用的软件系统,例如版本管理。 对于关键业务,停机通常是灾难性的。因为停机带来的损失也是巨大的。咱们先来看一组统计数据:

应用系统

每分钟损失(美元)

呼叫中心(Call Center)

27000

企业资源计划(ERP)系统

13000

供应链管理(SCM)系统

11000

电子商务(eCommerce)系统

10000

客户服务(CustomerServiceCenter)系统

27000

随着企业越来越依赖于信息技术系统,由于系统停机而带来的损失也越拉越大。

很多公司代码版本的管理并不统一,一部分人用SVN,一部分用Git。对于习惯了使用Linux或者Mac命令行的人来说,Git的操作更方便和快捷,但是还有一部Windows的研发人员习惯使用SVN。咱们先来聊聊Git和SVN的区别。

GIT是分布式的

这是GIT和其它非分布式的版本控制系统,例如SVN,CVS等,最核心的区别。需要做一点声明,GIT并不是目前第一个或唯一的分布式版本控制系统。还有一些系统,例如Bitkeeper, Mercurial等,也是运行在分布式模式上的。但GIT在这方面做的更好,而且有更多强大的功能特征。

GIT跟SVN一样有自己的集中式版本库或服务器。但GIT更倾向于被使用于分布式模式,也就是每个开发人员从中心版本库/服务器上chect out代码后会在自己的机器上克隆一个自己的版本库。可以这样说,如果你被困在一个不能连接网络的地方时,就像在飞机上,地下室,电梯里等,你仍然能够提交文件,查看历史版本记录,创建项目分支等。对一些人来说,这好像没多大用处,但当你突然遇到没有网络的环境时,这个将解决你的大麻烦。

同样,这种分布式的操作模式对于开源软件社区的开发来说也是个巨大的恩赐,你不必再像以前那样做出补丁包,通过email方式发送出去,你只需要创建一个分支,向项目团队发送一个推请求。这能让你的代码保持最新,而且不会在传输过程中丢失。github.com就是一个这样的优秀案例。

所以,如果使用Git,一定要按它的分布式特性使用它。

中央版本控制系统:SVN

分布式版本控制系统:Git

存储方式不同

GIT是把内容按元数据方式存储,而SVN是按文件方式存储。所有的资源控制系统都是把文件的元信息隐藏在一个类似.svn,.cvs等的文件夹里。如果你把.git目录的体积大小跟.svn比较,你会发现它们差距很大。因为 .git 目录是处于你的机器上的一个克隆版的版本库,它拥有中心版本库上所有的东西,例如标签,分支,版本记录等。

分支的区别

Git 分支廉价,SVN 分支昂贵。在版本管理里,分支是很常使用的功能。在发布版本前,需要发布分支,进行大需求开发,需要 feature 分支,大团队还会有开发分支,稳定分支等。在大团队开发过程中,常常存在创建分支,切换分支的需求。

Git 分支是指针指向某次提交,而 SVN 分支是拷贝的目录。这个特性使 Git 的分支切换非常迅速,且创建成本非常低。

而且 Git 有本地分支,SVN 无本地分支。在实际开发过程中,经常会遇到有些代码没写完,但是需紧急处理其他问题,若我们使用 Git,一定要多用分支特性,它可以创建本地分支存储没写完的代码,待问题处理完后,再回到本地分支继续完成代码。

为什么要用gitlab

我们经常会听见一些名称,比如Git、gitLab、gitHub。咱们先看看这些的定义:

Git-它是一个源代码版本控制系统,可让您在本地跟踪更改并从远程资源推送或拉取更改。

GitLab、GitHub是提供对 Git 存储库的远程访问的服务。除了托管您的代码,这些服务还提供旨在帮助管理软件开发生命周期的附加功能。这些附加功能包括管理不同人之间的代码共享、错误跟踪、wiki和其他"社交编码"工具。

  1. GitHub 是一项公开可用的免费服务,要求所有代码(除非您有付费帐户)都开放。任何人都可以看到您推送到 GitHub 的代码并提供改进建议。 GitHub 目前托管着数以万计的开源项目的源代码。一般直接在公网使用
  2. GitLab 是一种类似于 github 的服务,组织可以使用它来提供 git 存储库的内部管理。它是一个自托管的 Git 存储库管理系统,可以保护用户代码的私密性,并且可以轻松部署代码的更改,并允许您免费决定它们是公开的还是私有的。一般公司都会选用GitLab来做公司版本控制私服。

特点:

  1. GitLab 免费托管您的(私人)软件项目。
  2. GitLab 是一个管理 Git 存储库的平台。
  3. GitLab 提供免费的公共和私有存储库、问题跟踪和 wiki。
  4. GitLab 是位于 Git 之上的,有用户友好的 Web 界面层,可提高使用 Git 的速度。
  5. GitLab 提供自己的持续集成 (CI) 系统来管理项目,并提供用户界面以及 GitLab 的其他功能。

总结

其实gitlab的核心还是提供了一种简单、透明和有效的 git 工作方式,并与问题跟踪系统相结合。

使用版本控制中常见的问题是,随着时间推移,产生越来越多的分支,在那些长期维护的分支中充斥着杂乱的修改内容。

git 工作流主要的问题是:

一、默认的 master 分支只是用于发布,开发都在其他分支上。

二、对于多数应用来说过于复杂,特别是 release 和 hotfix 分支的不可部署导致使用上的复杂。

GitLab 工作流的最大原则叫做"上游优先"(upsteam first),即只存在一个主分支master,它是所有其他分支的"上游"。只有上游分支采纳的代码变化,才能应用到其他分支。

对于"持续发布"的项目,它建议在master分支以外,再建立不同的环境分支。比如,"开发环境"的分支是master,"预发环境"的分支是pre-production,"生产环境"的分支是production。

开发分支是预发分支的"上游",预发分支又是生产分支的"上游"。代码的变化,必须由"上游"向"下游"发展。比如,生产环境出现了bug,这时就要新建一个功能分支,先把它合并到master,确认没有问题,再cherry-pick到pre-production,这一步也没有问题,才进入production。

只有紧急情况,才允许跳过上游,直接合并到下游分支。

GitLab在理解上虽然需要花一些时间,但是Gitlab的理念对于项目管理来说有很大的提升,小蒋个人认为这个付出是值得的。

年龄的增长不可怕,可怕的是从未成长!

感谢大家支持小蒋,小蒋希望和大家共同成长,谢谢。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: 1 University students can understand innovation through learning from the past. 2. Students can better review by breaking down complex concepts into smaller components and studying the material in an organized way. 3. When learning from the past to understand innovation, it is important to focus on understanding the big picture and to not get bogged down in the details. ### 回答2: 1. 大学生如何理解温故而知新温故而知新是一种学习方法,它要求我们在学习新知识之前先回顾和巩固已经学过的知识。大学生理解温故而知新意味着要在学习新知识之前,先回顾和复习以前学过的相关知识或基础知识。通过温故,我们能够加深对已有知识的理解和记忆,从而更好地理解和掌握新的知识。 2. 学生如何更好地去复习? 学生要更好地复习,可以采取以下策略: 首先,制定一个合理的复习计划,将要复习的内容分配到不同的时间段,确保每个科目都有足够的时间。 其次,采用多种复习方法,如阅读教材、做练习题、参加讨论等,以帮助加深理解和牢固记忆。 另外,与同学或老师一起讨论复习内容,通过讲解和互动来加深理解。 此外,保持良好的学习习惯,比如及时复习、做好笔记等,能够帮助学生更好地掌握和复习知识。 3. 温故而知新的过程需要注意什么? 在温故而知新的过程中,需要注意以下几点: 首先,要有针对性,根据自己的学习需求和复习目标,选择性地回顾和复习相关知识点。 其次,要有系统性,将复习内容进行分类整理,形成一个清晰的知识框架,有助于加深理解和记忆。 另外,要关注重难点,重点复习那些相对较难或容易遗忘的知识点,加强对这些内容的学习和理解。 还要有耐心和恒心,温故而知新是一个持续的过程,需要长期坚持和不断巩固。 最后,要善于总结和归纳,通过整理和回顾复习过程中的笔记和练习,提炼出关键概念和思维模式,便于记忆和应用。 ### 回答3: 1. 大学生如何理解温故而知新? 大学生可以理解为通过回顾过去的知识和经验,来获取新的见解和理解。温故是指回顾已经学过的知识,了解其中的原理、概念和重要点。而知新则是指通过对新知识的学习,扩展和更新自己的知识体系。温故而知新相辅相成,是一个持续学习和发展的过程。 2. 学生如何更好地去复习? 学生可以通过以下方式更好地进行复习: - 制定合理的复习计划:根据时间安排和课程难度,合理分配复习时间,确保每个学科都有足够的复习时间。 - 多种复习方法结合:采用不同的学习方式,如阅读教材、做练习题、参与讨论、制作思维导图等,帮助巩固记忆和理解知识。 - 主动参与课堂:积极参与讨论和提问,与同学和老师交流,加深对知识的理解和记忆。 - 不断反思和总结:及时检查自己的复习情况,发现不足和问题,并及时调整学习方法和计划。 3. 温故而知新的过程需要注意什么? 在温故而知新的过程中,学生需要注意以下几点: - 有目的性地温故:针对具体的知识点或者问题进行回顾,明确自己的学习目标和重点。 - 理解和记忆结合:不仅要理解概念和原理,还要通过多次的复习和记忆,帮助信息在大脑中形成长期记忆。 - 理论联系实际:将学到的知识应用到实际情境中,加深对知识的理解和记忆。 - 及时巩固复习成果:通过做练习题、整理笔记、与同学讨论等方式,巩固复习的成果,确保知识掌握得更牢固。 - 长期持续学习:温故而知新是一个持续的过程,要保持学习的热情和动力,不断更新自己的知识体系。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小蒋聊技术

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值