首頁 >運維 >Docker >docker中解耦和半解耦的差別是什麼

docker中解耦和半解耦的差別是什麼

WBOY
WBOY原創
2022-01-28 10:29:221725瀏覽

docker中解耦和半解耦的區別是:同一個作業系統中運行相同的軟體程式時,解耦會為每個軟體分配一個環境,​​使其獨立運行,而半解耦會在一個環境下同時運作兩個相同的軟體,分擔軟體伺服器的壓力。

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(軟連結)的形式使用。

這樣使得應用程式誤以為一個資料夾就是一個作業系統。

docker中解耦和半解耦的差別是什麼

推薦學習:《docker影片教學

以上是docker中解耦和半解耦的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn