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(軟鏈接)的形式使用。
這樣使得應用程序誤以爲一個文件夾就是一個操作系統。
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章