多机房多活架构,到底有多牛?

目录

  • 什么是服务器?什么是机架?什么是机房?
  • 什么是同城灾备机房?
  • 什么是两地三中心的架构?
  • 什么是多机房多活的架构?

今天给大家分享一个话题,就是多机房多活架构,这个话题可能很多兄弟从来没听说过,或者哪怕听过,但是因为一直在小公司工作,也没搞过,没经历过。不过没关系,今天我们就给大家讲解一下这个大厂才会玩儿的多机房多活架构是什么,大家可以了解了解全当拓个知识面出来。

什么是服务器?什么是机架?什么是机房?

说到这个多机房多活架构,首先我们得先给大家说说,啥叫做机房,这么说吧,你平时在本地打开intellij idea,在里面打开项目代码,然后用spring boot一类的框架写一堆的代码,controller+service+dao这个画面大家是不是很熟悉?

然后写完了代码你得把代码打包上传到线上服务器上,并且在线上服务器里用jar包重新启动系统。这个过程你可以自己手工操作,也可以借助jenkins一类的工具自动化流水线部署,但是大致流程如下图。

那现在问大家一个问题,你这所谓的线上服务器,是在哪里啊?懵逼了吗?不知道了吗?那说明你这还是有问题的,这个线上服务器其实是一个真实存在的有物理形态的一个东西,就跟你家里的衣柜一样,他是看得见摸得着的。

你公司如果想要提供一台服务器给你用,他必须在一个机房里买一台或者租用一台服务器,这里就有一个机房的概念,这个机房是啥呢?大概来说,就跟你住的城市郊区里盖的厂房看起来类似吧,他就是一个房子!

在这个机房里,有一些房间,房间里呢,有一排一排的机架,或者叫做机柜,这个机架就是一个架子,机柜就是柜子,机架上就放了一台一台的服务器,服务器就是一个一个的大黑盒子,所以此时如下图。

这个机架上放的服务器,就一黑盒子,他是联网的,我们可以通过网络连接它,怎么连接?它有ip地址啊,我们通过ssh一类的连接命令,或者是代码里通过网络都可以连接到这台服务器去,这就是连接服务器的过程。

什么是同城灾备机房?

理解了上述的概念,我们就明白了我们开发的系统是部署在一个看得见的机房的一个机架的一个服务器中的。那如果整个机房突然停电了是不是会导致线上系统就直接掉线呢?对啊,就是这样子的,所以说,我们可以在一个城市里的另外一个机房中把开发好的系统也部署一套,此时你的系统就部署了两个机房了,如下图。

那现在问题来了,这两个机房怎么协同工作呢?其实是这样解决的:

一个机房里部署的系统是会连接到自己的一个数据库的,数据库也是在那个机房的另外一台服务器上部署的,然后平时我们就访问这个机房部署的系统就好了。

但是呢,另外一个机房里也是有两台服务器,一台部署系统,一台部署数据库,此时我们可以让生产机房里的数据库的数据实时同步到同城灾备机房的那个数据库里去,一旦要是生产机房停电了,直接就访问同城灾备机房的系统就好了啊,数据在那个机房的mysql了都是有的,如下图。

扫描二维码关注公众号,回复: 13774753 查看本文章

什么是两地三中心的架构?

但万一要是这个城市发生了一些自然灾害,类似于洪涝、地震一类的问题,俩机房都完蛋了,这可怎么办啊?此时就会出现一个两地三中心的架构,就是一个城市里俩机房,另外一个城市搞一个异地灾备机房,让同城灾备机房的数据实时同步给异地灾备机房,此时即使是一个城市发生了自然灾害,那也不怕,别的城市还有一个机房呢,如下图。

什么是多机房多活的架构?

但是这么做还有一个问题,平时就用一个机房的资源,另外2个机房就是同步数据做灾备的,发生停电、自然灾害的时候,才会用到灾备机房,这可怎么办呢?所以后来设计出了多活架构,就是说,上述三个机房都可以访问,哪个机房写入了数据,他就会把数据同步给另外俩机房,如下图。

到这里为止,就给大家讲清楚了咱们的多机房多活的架构了,通常大厂才会这么做,中小公司一般是不会这么玩的。不过大家可以作为一个知识面了解一下,别人家说到多机房多活都不知道啥意思。

另外就是如果有兄弟最近在写简历或者准备面试,但是对自己的简历或者项目没什么信心,欢迎加入我们的免费简历指导社群,这个社群里,我们会经常分享简历优化案例,同时还有技术大牛可以1对指导简历,让简历更好!

END

====惊喜福利====

猜你喜欢

转载自juejin.im/post/7084031068902260749