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

WBOY
WBOY 原创
2022-01-28 10:29:22 1067浏览

docker中解耦和半解耦的区别是:同一个操作系统中运行相同的软件程序时,解耦会为每一个软件分配一个环境,使其独立运行,而半解耦会在一个环境下同时运行两个相同的软件,分担软件服务器的压力。

本教程操作环境: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(软链接)的形式使用。

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

27.png

推荐学习:《docker视频教程

以上就是docker中解耦和半解耦的区别是什么的详细内容,更多请关注php中文网其它相关文章!

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。