docker中解耦和半解耦的区别是什么?详细解释解耦和半解耦

时间:2022-01-29 11:03:27       来源:php中文网

本教程操作环境:linux7.3系统、docker-1.13.1版、Dell G3电脑。

docker中解耦和半解耦的区别是什么

软件流程

想要了解解耦与半解耦,需要先知道一个应用启动的流程是什么。

USER通过shell(bash/zsh)发送指令给OS,

OS发送通知lib库准备好运行环境,

lib库准备好通知soft可以运行了,

soft进行操作将指令下发给device执行。

解耦

当我们在同一个操作系统中运行相同的软件程序时,它们会发生冲突。解除耦合则是为一个软件分配一个环境,使其独立运行。

例如手机里的应用分身,还有经常使用的VMware虚拟机也是使用这种方式

当我们想要同时运行多个web服务器时,需要创建两个操作系统,

从指定硬件层面(CPU、MEM、DISK)→安装内核→安装系统→安装lib库→安装device(驱动程序)→安装应用软件

半解耦

使得在同一个环境下可以同时运行两个相同的软件,分担软件服务器的压力。

直接使用物理机上的硬件资源(CPU、MEM、DISK)和kernel(内核)

例如:docker会直接使用系统镜像构建出一个容器,以文件夹的方式存放在操作系统上。

而容器内部的运行环境比如lib库将通过ln -s(软链接)的形式使用。

这样使得应用程序误以为一个文件夹就是一个操作系统。

关键词: 解耦 半解耦 docker docker中解耦和半解耦的区别是什么