讀書摘要 第六章

2021-07-15 04:06:11 字數 1782 閱讀 4206

避免系統中出現單點。

負載均衡技術:分為硬體負載均衡和軟體負載均衡。負載均衡機器在選擇業務處理機器是,有如下幾種方式:隨機(random)選擇 ,hash選擇,round-robin 選擇,按權重選擇,按負載選擇,按連線選擇,按cookie資訊繫結訪問相同機器的方式。當請求超過最大請求數及最大等待佇列大小時,使用者可能要等待很久或者請求超時或丟棄,可採用unicorn來解決。響應返回方式,通常負載均衡方案都支援以下兩種返回方式,1)響應通過負載均衡機器返回,這種方式基於 nat 實現 ,當請求從客戶端傳送至負載均衡機器時,負載均衡機器選擇一台實際業務處理機器,然後將請求的報文目標位址和埠改為實際業務處理機器的ip和埠,並將報文傳送過去,當響應回到負載均衡機器上時,重新改回負載均衡機器的vip位址和埠。  2)響應直接返回至請求發起方,響應直接返回至請求發起方可將請求包和響應包分開處理,以分散負載均衡的壓力,使負載均衡機器可支撐更大的訪問量。要達到響應直接返回,需要採用ip tunneling 或dr(direct routing,硬體負載裝置中又簡稱為dsr ,direct service routing)方式,這種方式對負載均衡機器和實際業務機器的系統環境有要求。ip tunneling方式要求負載均衡機器和實際的業務處理機器的os 支援ip tunneling,並將vip位址同時配置在實際業務處理機器的ip隧道裝置上。採用direct routing 方式時,要求負載均衡機器和實際的業務機器在同乙個物理網段中,並且不響應arp。硬體負載裝置,硬體負載裝置中最知名的有f5和netscalar。軟體負載方案,軟體負載方案中最常用的為lvs(linux virtual server),多數情況下採用lvs + keepalived來避免負載均衡機器的單點,實現自動接管。除了lvs 外,還有haproxy 這樣的佼佼者。去中心化實現負載均衡,基於gossip實現無中間點的軟體負載。facebook的cassandra是乙個基於gossip實現無中心的nosql資料庫。

熱備:1)跨機房的狀態同步,資料庫資料的同步通常採用資料庫自帶的同步方案,如 oracle standby 或 mysql replication 方案。多master方案有多個寫入點,相對單master方案複雜多了,通常採取兩階段提交、三階段提交或基於 paxos的方式保持多master資料的一致性。2)兩階段提交(2pc)保持一致性,採用兩階段提交保證master資料一致性,步驟為,開啟事務,通知每個master執行某操作,所有master在接到請求後,鎖定執行此操作需要的資源,在收到所有mater反饋後,如都可執行,則繼續後續操作,如有乙個master無反饋或不能執行,則通知所有master回滾,通知多有master完成操作。3)三階段提交(3pc)保持一致性,為了避免在通知所有master提交時,其中乙個master crash不一致時,出現了此方式。此方式在兩階段提交基礎上增加了 precommit 的過程,當所有master收到precommit 後,並不執行動作,直到收到commit 或超過一定時間後才能完成操作。在實現兩階段或三階段提交時,為了避免通知所有master時出現問題,通常借助訊息中介軟體或讓任意乙個master能夠接管成為通知者。4)基於paxos 保持一致性,paxos最大的改變在於不要求所有master都反饋成功,只需有大多數反饋成功就執行了。

提高應用自身的可用性:盡可能的避免故障,明確使用場景,設計可容錯的系統,設計具備自我保護能力的系統,限制使用資源,如限制記憶體的使用,限制檔案的使用,限制網路的使用,限制執行緒的使用等。

訪問量及資料量不斷**的應對策略:對於訪問量不斷**的情況,通常採用的應對措施是拆分系統及水平伸縮,通常按照功能拆分。隨著資料量不斷**,通常採取的方法為拆分資料庫、拆分表及讀寫分離,拆分資料庫通常按照業務來經行。

C Primer Plus第六章摘要

2020年7月20 21 22日 第六章 分支語句和邏輯運算子 1.c 規定 運算子是乙個順序點,先修改左側的值,再對右側的值進行判定。2.運算子的優先順序高於所有的關係運算子和算術運算子。3.c 從c語言繼承了乙個與字元相關的,非常方便的函式軟體包,它可以簡化諸如確定字元是否為大寫字母 數字 標點...

OC 第六章筆記摘要

nsinteger 大致等於long nsuinteger 大致等於unsigned long型整數 cgfloat 在64位平台上大致相當於double,在32位平台上大致相當於float。他們並不是包裝類,它們只是基本型別 nsvalue和nsnumber都是包裝類 nsvalue是nsnumb...

第六章讀書筆記

linux系統將每個驅動都對映成乙個檔案,這些檔案稱為裝置檔案或驅動檔案,都儲存在 dev目錄中。編寫linux驅動程式的步驟 第1 步 建立linu x 驅動骨架 裝載和解除安裝linu x 驅動 第2 步 註冊和登出裝置檔案 第3 步z 指定與驅動相關的資訊 第4 步 指定 函式 第5 步z 編...