当前位置: 首页 > 科技观察

多房间多活架构有多牛逼?

时间:2023-03-15 13:46:38 科技观察

今天跟大家分享一个话题,就是多机房和多活架构。很多兄弟可能没有听说过这个话题,甚至听说过,但是因为一直在小公司工作,所以没有做过,也没有经历过。不过没关系,今天就给大家讲解一下这个大厂只会玩的多机房多机房架构师。你也可以理解它,只是扩展你的知识。什么是服务器?什么是架子?什么是电脑房?说到这种多机房多活架构,首先得告诉大家什么叫机房。这么说吧,一般都是在本地打开intellijidea,在里面打开项目代码,然后用springboot之类的框架写一堆代码。你熟悉controller+service+dao的图吗?然后,写好代码之后,还得把代码打包上传到线上服务器上线,然后在线上服务器里用jar包重启系统。您可以手动执行此过程,也可以使用jenkins等工具自动部署管道。但是大致的流程是这样的:现在想请教大家一个问题,你们所谓的在线服务器在哪里?你困惑吗?你不知道吗?这意味着你仍然有问题。它是有形的实物,就像你家里的衣橱一样,看得见摸得着。首先,如果你的公司要提供服务器给你使用,就必须购买或租用机房的服务器。这里是计算机房的概念。这是什么机房?总的来说,就是类似于自己居住的城市郊区建起来的厂房,看着也差不多,就是房子!然后,在这个机房里,有一些房间,在房间里,有一排排的机架,或者说是机柜,这个机架只是一个架子,机柜只是一个机柜。机架上一台一台的放着服务器,服务器一台一台的是大黑盒子。所以此时,画面如下:那么,这个机架上的服务器只是一个黑盒子。它已连接到Internet。我们可以通过网络连接到它。如何连接?它有一个ip地址,你通过ssh什么的命令连接,或者代码可以通过网络连接到这个服务器,所以这就是你连接到服务器的过程。什么是同城容灾机房?然后呢?问题来了。了解了以上概念,你就知道你的系统部署在可视机房机架上的服务器中。那么如果整个机房突然断电怎么办?它会导致您的系统立即消失吗?是的,是这样的,那么我们可以把你的系统部署在一个城市的另外一个机房,此时你的系统已经部署了两个机房。如下图所示:现在的问题是,两个机房如何协同工作?这是给你的一个小秘密。部署在一个机房的系统会连接到自己的一个数据库,而这个数据库也在那个机房的另一台服务器上。它是部署在互联网上的,然后我们一般访问部署在这个机房的系统。不过另外一个机房也有两台服务器,一台部署系统,一台部署数据库。此时,我们可以将生产机房数据库的数据实时同步到同城灾备机房的数据库中。生产机房断电后,我们可以直接访问同城灾备机房的系统。数据在那个机房里,都是mysql。如下图所示:两中心和三中心是什么结构?但是这个时候,问题又出现了。如果这个城市发生了一些自然灾害,比如洪水、地震,两个机房都完蛋了怎么办?做吗?这时就会出现两中心、三中心的结构,即一个城市两个机房,另一个城市一个异地灾备机房,让灾备机房的数据在同一个城市可以实时同步到异地灾备机房。即使一城发生天灾,也不怕。其他城市还有机房。如下图所示:什么是多机房多活架构?但是这种方法有一个问题。通常使用一个机房的资源,另外两个机房用于容灾。它们仅在发生停电或自然灾害时使用。容灾机房,我们能做什么?所以后来我们开始实现多活的架构,也就是说上面三个机房都可以访问,哪个机房写数据,就会把数据同步到另外两个机房。如下图所示:那么到这里,我们就给大家讲解了我们的多房间多活结构。这个一般是大厂做的,但是中小型公司一般不会这么玩,但是你可以把它当作一个知识点来学习,别人说多机房的时候不知道什么意思多项活动。