容器的隔離機制

2021-10-10 14:43:18 字數 712 閱讀 1353

cgroup

眾所周知,容器之間是互相隔離的,容器的隔離機制只要得益於linux命名空間和linux控制組(cgroup)。

linux命名空間使每個程序只能看到他自己的系統檢視(如檔案、程序、網路介面、主機名等)

linux控制組限制了程序能使用的資源量(cpu、記憶體、網路頻寬等)

預設情況下,每個linux最初只有乙個命名空間。所有系統資源都屬於這乙個命名空間。但是能建立額外的命名空間,以及在它們之間組織資源。對於乙個程序,可以在其中乙個命名空間中執行它,當然,該程序只能看到同乙個命名空間下的資源。當然,會存在多種型別的多個命名空間,所以乙個程序不單單只屬於乙個命名空間,而是一類命名空間。

型別用途

mount

隔離mount point

pid隔離程序,不同namespace的程序互不干擾

network

對網路介面進行隔離,每個網路介面都屬於乙個命名空間,但是可以在命名空間之間進行轉移,且每個容器都使用自己的網路命名空間,因此每個容器僅僅稚嫩剛看到屬於自己的一組網路介面

ipd隔離程序間的通訊

uts隔離主機名

user

隔離使用者

限制容器能使用的系統資源。cgroup是linux的乙個核心功能,被用來限制乙個程序或者一組程序的資源使用。乙個程序的資源使用量不能超出被分配的量

事務隔離機制

五年前在論壇上有過一次提問,如下 下面兩個問題的答案就是資料庫的事務隔離機制。資料庫針對外部的併發請求,也是要考慮資源搶占問題的,所以資料庫針對同一記錄的寫請求,也是要加鎖的!最簡單的方式就是針對每個請求都加鎖,全部序列,這樣肯定不會有問題。但這樣效能很低,所以db將鎖分為了讀鎖和寫鎖,也就是常說的...

Oracle 事務隔離機制

事務隔離級別 乙個事務對資料庫的修改與並行的另乙個事務的隔離程度。3類資料讀問題 髒讀 不可重複讀和幻象讀 2類資料更新問題 第一類丟失更新和第二類丟失更新 1 幻想讀 事務t1讀取一條指定where條件的語句,返回結果集。此時事務t2插入一行新記錄,恰好滿足t1的where條件。然後t1使用相同的...

Mysql事務隔離機制

了解mysql事務隔離機制首先需要理解什麼是acid a 原子性automicity,乙個事務作為不可分割的最小單元,乙個事務裡面的所有操作要麼全部成功,要麼全部失敗。c 一致性consistency,事物結束後系統狀態是一致的,即 資料不能平白無故的產生,也不能平白無故的消失,例如乙個轉賬業務事務...