00:00
说一道这个面试题啊,其实准确的来说,这是我应该是2014年15年那时候。遇到了一个生产的。呃,一个案例啊,就是我把我当时的一个解决方案。就给大家说一下。那这里呢,我们先当这个面试题来看啊。就现在啊。嗯,我给你画张图啊,咱们先不看文字啊,咱们就看图怎么回事啊。就现在,这是我们之前那时候的架构。一个主户带两个存户啊,现在目前这种状况。然后呢,因为当时呢,这主库啊,就TPS写入,就写入量特别特别高,这个存库当时的配置还不是特别好,就是普通的磁盘就SAS盘15000转了。嗯,然后呢,这个存库当时就会就是出现了延迟了,当时延迟很大。当时呢,这个大数据团队呢,他们是用这个开。这个工具,然后去读啊,比如我就读这台机器吧。
01:02
呃,从这个解析并,然后入库到他们这个数据仓库里头。然后呢,当当呃,那个时候当时呢,因为我这个存库延延迟和比较长,他们那个要求啊,需要就是实时的去解析,就是你那个存库要保证不能有延迟。那这个时候,嗯,应该是怎么办呢。嗯,我我把我当时的解决方案给说一下,因为当时呢,就是你申请机器肯定是不行的,因为需要走一些流程,当时你要想。要让公司批的话,买台设备也几万块钱,嗯,他还是那时候还是比较贵的。然后呢?我我把我说一下,我我最终的解解决方案啊。我当时呢,我是在,就比如说这S2吧。我搭我搭建了一个实例,就新实例,原来比如说我是3306啊,这个端口,后来我我增加了一个端口叫3307啊。跑一个新势力,然后呢,我把这个引擎啊,注意看啊,注意听啊,就是引擎原来不是一诺基地吗。
02:04
我把这个印度基地呀,给换成了,就叫黑洞引擎,就叫呃。就叫这个名叫布莱克号。就叫这个这个引擎,这个引擎可能你现在你不太熟悉啊,我到时候我给你演示一下这个引擎是干嘛。就干嘛干嘛使的,你可能就比较懂了。那么我们先来说一下这个印度基地啊。就是现在为什么它那个会有延迟呢?因为这个印动基地吧,你看比如说我主库啊,比如说推送,呃有十条数据,那么这个从库呢,必须得写完了,它就相当于你那个把那个log。啊,他把那个线程。把这个数据给那个恢复到我这个库里头。然后呢,它才会记下来这个blog,这个时候呢,这个这个看呃,就那个科去监听这个log,如果有的话,它会自动的把这个blog解析,然后呢,直接插入到那个后端这个大数据平台里头。
03:07
那么如果我这个重复写的慢的话,那么我相当于我这个产生并性就是一直不产生了,不产生的话,它就读不到嘛,所以说他这个后边数据永远是有延延迟的。那么换成这个黑洞引引擎呢?那就是这样的,我先给你看一眼,咱先看一下,根据以前是干嘛使的。你看我现在是什么没有吧,我现在插入一条数据啊。按照传统的阴道DB,你你现在实在一下,你能看得见。对吧,我我先只要一回车,你应该能看见三个一,但是如果你要换成这个黑洞引擎了,你回车你看看什么都没有。啊,对吧,这个有点意思吧。我给他再上刷他二啊,你再回车什么都没有。啊,相当于黑洞引擎啊,相当于就是相当于我只解析你的blog,相当于它就一个中转站,就是专门负责接监听这个blog的,然后你看咱们再看那槟里啊。
04:14
看到没有,这浪里是记的。只不过我是没有数据,看见没有,这就叫黑洞引擎,相当于他。相当于,哎,我这儿。又开了一个。他当那个槟榔的接收器。因为它不写入数据,所以说呢,这个磁盘IO消耗的是很少。啊,就是指把主库这帽子,哎,我接过来。接过来以后,你把我到时候就会通知这个大数据团队,把这个可。就是开上。嗯,读到这个3307端口,这样的话,相当于不就是没有延迟了吗。啊,这个架构图大家应该能听得懂吧。啊,我新开一个实例,把这个引擎呢,换成这个。
05:03
啊,黑洞引擎。黑洞引擎就是相当于啊。我插入数据,然后呢,但是呢,我只记blog,我不往里写数据,这样的话它消耗磁盘IO就会变少。磁盘IO1少的话,那相当于速度就很快,这样这时候相当于就是。嗯,你这个主从是没有延迟的啊,你把让大数据团队抽到从这台机器。这个黑洞引擎,这台机器抽。啊,就可以做到实时的。嗯,这个同步复制。那么这个就是我当时我印象是2014年,2015年的事儿了,778年前,七八年以前的事儿了,当时我用这个方案。给他们解决了啊,这就是黑洞引擎,这个黑洞引擎应该是,嗯,你要是做D杯的话,应该你是最早一批,2008年,如果你转D杯的话,你知道这个引擎是干嘛使的。
06:00
之后可能这个倒不是用的就比较少,就是。啊,所以这里呢,就给大家介绍一下啊,这是我当时的一个解决案例,你就算一道面试题吧。
我来说两句