RAC架構演變簡析

2022-04-08 04:29:28 字數 1431 閱讀 3391

rac架構演變簡析

從單例項到rac,體系結構也由rac集群和clusterware集群構建

㈠ sga的變化    www.2cto.com  

sga的顯著變化是多了乙個grd

grd儲存:

① pcm lock資訊

② 節點健康狀態的bitmap

㈡ 後台程序的變化

這裡只闡述rac集群上的後台程序的變化

① lmon程序

lmon提供了cgs和nm兩個服務來維護rac集群的狀態

⑴ nm

是rac集群與clusterware集群的通訊通道

通過nm,把本節點的資源登記到本地clusterware,再由本地clusterware傳遞給其他節點clusterware

同時,nm還會從其他節點的clusterware獲取他們的資源狀態

rac的每個例項的所有程序是作為乙個nm組註冊到clusterware中

其中lmon程序作為組長並獲得member id,其他程序以同樣的id註冊

⑵ cgs

cluster group services

這個服務主要負責有:

grd內的bitmap記錄了節點的健康狀態,0代表關閉,1代表正常執行

各節點的lmon定時通訊,保證grd bitmap的一致性

另外,lmon可以和下層的clusterware合作也可以單獨工作

rac集群並不總是假設clusterware集群能夠處理問題

如果等待超時,lmon會自動觸發imr(instance membership recovery)

② lmsn程序

負責資料塊在例項間的傳遞

③ lmd程序

負責在多個例項間協調對資料塊的訪問順序

④ lck程序

負責non-cache fusion資源的併發訪問

⑤ diag程序

負責例項執行時錯誤並記錄到alert.log中

⑥ gsd程序

負責從客戶端工具接收使用者命令

㈢ 檔案的變化    www.2cto.com  

① redo thread

乙個例項對應乙個redo thread

redo是共享的,但隸屬於各個例項

因為在crash recovery,執行recover的節點必須能夠訪問故障節點的聯機日誌

在rac中,每個例項寫入自己的redo log中,但能夠讀取其他例項的redo log

每個例項有乙個thread#,可以區別於其他例項的redo

例項恢復的時候更多的是讀取自己thread#的redo 

介質恢復時讀取全域性的rodo

② undo tablespace

每個例項都需要有乙個單獨的undo

通過引數sid.undo_tablespace配置

③ spfile

需要被所有節點訪問,應放在共享盤

Android架構簡析

mvp架構及開發模式 mvc or mvp pattern whats the difference?android中的mvp 譯 android開發中的mvp架構 首先,讓我們思考下為什麼在android開發中如此迫切地需要乙個清晰的架構。該段摘自 大全第二版 避免建立神類。避免建立無所不知,無所...

以太坊架構簡析

httpclient 支援http協議 實現get post等http方法。http json rpc ipc 1 實現程式 程序間的通訊。外部程式可以通過json rpc呼叫api。swarm 乙個web應用開發框架,其允許程式分布在多台計算機上,並能夠動態分配運算以提公升運算效率。容器 包含程式...

簡析三層架構

通過幾個問題,來初步的學習一下三層架構。1 什麼是三層架構 2 應用場景 為什麼要用三層架構?3 三層作用 4 各個層之間的關係 5 三層聯絡 引用 6 各層是怎樣呼叫的 7 三層和二層的對照 這幾個都是學習三層中最主要的問題,僅僅有把這些問題搞清楚。才算是開啟了三層的門。在軟體體系架構設計中,分層...