00:00
好,各位同学,我们继续那么讲到这儿。第一天的从理论到配置到安装接近尾声,那么我们来做一下我们的小总结,最后结合我们之前讲解过的内容,来对我们do卡它运行的底层原理再做最后一次的分析。那么大家请看为什么。Do卡会比Java虚拟机要快。那么来,同学们两者。对比,还记不记得之前我们看过这张图。一个大,一个小,一个慢,一个快,一个复杂,一个简单。那么说白了,Do是比传统的容器。传统的这种虚拟机是有极大的优势的。那么好。前面完了以后,我们再深层次的来解释一下do卡为什么会比虚拟机快,那么来同学们两大原因,第一个。Dota有着比虚拟机更少的抽象层,也就是说我们先说虚拟机啊,我们这儿要加载创建一个新的虚拟机,那么前面反复多次的强调过这一个ISO镜像文件,那是包含了软件、硬件,甚至包括打印机驱动,它用得到的用不到的。
01:13
这个反正是带环境,给你安装,我全给你,那当然又大又全,自然体重就比较多,我想出行要部车,你给我一辆汽车就行了,没想到哥们儿你开了一辆火车,是是挺牛逼,但是运作起来当然慢了,你城市里面你要是跑一个火车,那是不是一定是。菜刀砍电线,一路霹雳火花带闪电对吧?那么这个时候我们来看多看呢?它不需要像虚拟机那样要实现硬件层面的资源虚拟化,我不用运行在dota容器上的程序,直接使用的都是实际物理机的。硬件配置,那么相当于我可以复用,因此在CPU内存利用上面,Do效率上有明显的优势,OK,好,那么第二个原因呢,Doer利用的是宿主机的内核。
02:04
还记不记得我们原来说过他偷机打滑可以复用啊,那张图对吧?不需要加载整个操作系统的内核,那么当我们新建一个容器的时候,Do run OK。不需要和虚拟机一样重新加载一个操作系统内核,那么假设我们现在在虚拟机上面啊,我现在呢,想运行这个327上面安装过的一个red,那我是要先启动它,那么我为了启动一个red,先要先启动一个整个虚拟机七,那么这个时候就会导致我需要加载虚拟机,但是刀砍不需要,那么它呢。不用重新加载一个操作系统的这样一个重量级的内核,从而避免了系统级别的什么引导啊,寻址啊,加载啊,操作系统内核返回啊等等比较费时费资源的一个过程。当我们新建一个虚拟机的时候,这个虚拟机是要返回加载O的,那么它的返回过程我们都说过,一个虚拟机实例启动五分钟都是快的,对吧?那么dota呢,直接利用宿主机的操作系统。
03:06
省略这一大堆加载和返回的过程,因此新建一个多的容器。这么着秒级别的好,那么下面我们来对比。左边是我们的虚拟机,两个都是硬件,假设都是同样一台笔记本,这儿呢有一个主机的操作系统,对吧,WIN10这呢也有个主机的操作系统,比方说呃,我们是WIN10也好,或者是苹果也罢,都一样啊,这这下面这两层一样,上面呢,这个hyper version这么一个接口,就是一个虚拟化的软件,你可以把它当做这个就是V,那么它在这上面,那么来。这个可能是一个三七,这个可能是个U版图,这个可能是个Linux红帽,每一个操作系统都要全部的重量级的加载,各种的什么网络配置啊等等等等,那么在这个上面加载这些第三方的内部这些库,然后再加载各种运用,那么所以说相当于一个虚拟机,它绝对可以带环境安装,他把整个系统给你搬过来了。
04:00
但是呢,Dota呢,不用我现在呢。直接利用宿主机的操作系统,哎,我就很清亮啊,我这儿就做了一层容器虚拟化。屏蔽,那么这个时候你们就跑到doer上dota,相当于我就在Windows上面装了一个软件,这个软件里面又运行着另外一些软件容器里面就可以运行我们的red mango DB,所以说在这块我们可以获得,对于do卡容器而言,从操作系统这个维度,它和宿主机共享,虚拟机维外而言,宿主机在上面再运行一个虚拟机,哇,太重,那么存储的大小镜像比较小,而它的镜像这个ISO文件非常庞大。我们的三机少数都是4.8个G,那么运行性能几乎没有什么额外损失,而这个呢?不用多说了吧,兄弟们还记不记得以前我们做过开了六个实链,只要16G以下的内存的同学们的机器根本跑不起来,那么移植性啊,氢和性啊,速部署速度等等,那么秒级,十秒钟以上等等,甚至是分钟级的,OK,那么这个就可以得到我们do塔,它为什么会比Java虚拟机要快?
我来说两句