主頁 >
軟體設計 > 讀發布!設計與部署穩定的分布式系統(第2版)筆記18_基礎層之聯網
讀發布!設計與部署穩定的分布式系統(第2版)筆記18_基礎層之聯網
2023-07-04 08:46:26 軟體設計

1. 面向恢復的計算
1.1. ROC,recovery-oriented computing
1.2. 加州大學伯克利分校和斯坦福大學的聯合研究專案
1.2.1. 其大部分作業致力于消除系統失效的根源,但也承認系統失效不可避免
1.2.2. 旨在提高系統面臨失效時的生存能力
1.3. 創始原則
1.3.1. 無論在硬體方面還是軟體方面,失效都是不可避免的
1.3.2. 建模和分析永遠都不會足夠完備,用推導的方法預測所有系統失效方式是不可能的
1.3.3. 人的行為是系統失效的主要原因
1.4. 如果在每次配置更改后,都必須重新啟動那些服務器,則無法恢復服務
1.5. 重啟組件而不是重啟整臺服務器的能力,是面向恢復的計算的一個關鍵概念
1.5.1. 在不重啟所有服務器的情況下恢復服務
1.5.2. 花費超過6小時的時間來完成所有服務器的重啟
1.5.3. 僅僅動態重新配置和重啟連接池這件事,只需不到5分鐘的時間
2. 為生產環境而設計
2.1. 將在生產環境中發現的問題視為頭等大事
2.2. 為執行運維操作的人們而設計
2.3. 圖示

3. 基礎層
3.1. 了解系統的物理基礎設施
3.2. 系統所有其他部分所依賴的機器和電纜
3.3. 厘清有關網路、主機名和IP地址之類的事情
3.4. 考慮持有代碼的那些設備:物理主機、虛擬機和容器等
3.5. 當系統跨越多個資料中心時會出現的一些特殊問題
4. 資料中心和云端的聯網
4.1. 相比桌面網路,包含更多冗余和安全性建設
4.2. 聯網時最大的誤解就是機器的主機名
4.3. 主機名可以用兩種方式來定義
4.3.1. 主機名是作業系統用來識別自身的名字
4.3.1.1. 機器的管理員可以設定該主機名和“默認搜索域”,將主機名和搜索域拼接在一起就構成了FQDN(全限定域名)
4.3.1.2. 即在運行hostname命令時所看到的內容
4.3.2. 系統的外部名字
4.3.2.1. 其他計算機希望使用這樣的主機名連接到目標機器
4.3.3. 無法保證機器自身的FQDN與DNS為該機器的IP地址所提供的FQDN相匹配
4.4. 兩個定義的根本區別
4.4.1. 機器使用其主機名標識整個機器
4.4.2. DNS名字僅用來標識IP地址,多個DNS名字可以被決議為同一個IP地址
4.4.3. 對負載均衡服務來說,一個DNS名字也可以被決議為多個IP地址,這意味著“DNS名字到IP地址”是一種“多對多”的關系
4.4.4. 許多實用程式和應用程式都假定機器自分配的FQDN是合法的DNS名字,決議后不會發生改變
4.4.4.1. 對開發機器來說基本上是正確的,但對生產環境的服務來說一般是錯誤的
4.5. 多網卡的多對多的關系
4.5.1. 一臺機器可能有多個網卡
4.5.2. 每個網卡可以連接到不同的網路,每個活動的網卡能在其特定網路上獲取IP地址,這被稱為多宿主(multihoming)
4.5.3. 資料中心中的每臺服務器一般都是多宿主的
4.5.4. 不知道存在多個網路介面的應用程式,最終就容易接受來自錯誤網路的連接
5. 備份操作
5.1. 會以突發的方式傳輸巨量的資料
5.2. 如果備份發生在生產環境網路上就會堵塞網路
5.3. 良好的資料中心網路設計,是將備份用的資料流量分流到其專用的網段上
5.3.1. 由單獨的交換機處理
5.3.2. 由生產環境交換機上的單獨虛擬局域網處理
5.4. 備份流量從生產環境網路中分離出來后,當執行備份操作時,應用程式用戶不會因此受到影響
6. 多網路編程
6.1. 默認情況下,監聽一個套接字的應用程式,會監聽所有網路介面上的連接請求
6.2. 編程語言庫總是有一個“簡單”的套接字監聽版本,這個“簡單”版本只是在主機的每個網路介面上打開一個套接字
6.3. 在生產環境中配置多個網路介面的另一種常見方法,是系結或分組
6.4. 要確定系結的網路介面,必須提供應用程式的名字或IP地址
6.5. 需要在套接字上監聽的服務器應用程式,必須添加可配置的屬性來定義服務器應系結的網路介面
6.6. 應用程式還必須指定發出流量的網路介面
6.6.1. 資料可以通過多條路由,流經目標IP地址所屬的不同網卡,并到達同一個目的地
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/556560.html
標籤:架構設計
上一篇:互聯網高可用架構探討
下一篇:返回列表
-
- 標籤雲
-
-
- 熱門瀏覽
-
-
面試突擊第一季,第二季,第三季
第一季必考 https://www.bilibili.com/video/BV1FE411y79Y?from=search&seid=15921726601957489746 第二季分布式 https://www.bilibili.com/video/BV13f4y127ee/?spm_id_fro ......
uj5u.com 2020-09-10 05:35:24 more
-
第三單元作業總結
1.前言 這應該是本學期最后一次寫作業總結了吧。總體來說,對作業的節奏也差不多掌握了,作業做起來的效率也更高了。雖然和之前的作業一樣,作業中都要用到新的知識,但是相比之前,更加懂得了如何利用工具以及資料。雖然之間卡過殼,但總體而言,這幾次作業還算完成的比較好。 2.作業程序總結 相比前兩個單元,此單 ......
uj5u.com 2020-09-10 05:35:41 more
-
北航OO(2020)第四單元博客作業暨課程總結博客
北航OO(2020)第四單元博客作業暨課程總結博客 本單元作業的架構設計 在本單元中,由于UML圖具有比較清晰的樹形結構,因此我對其中需要進行查詢操作的元素進行了包裝,在樹的父節點中存盤所有孩子的參考。考慮到性能問題,我采用了快取機制,一次查詢后盡可能快取已經遍歷過的資訊,以減少遍歷次數。 本單元我 ......
uj5u.com 2020-09-10 05:35:48 more
-
BUAA_OO_第四單元
一、UML決議器設計 ? 先看下題目:第四單元實作一個基于JDK 8帶有效性檢查的UML(Unified Modeling Language)類圖,順序圖,狀態圖分析器 MyUmlInteraction,實際上我們要建立一個有向圖模型,UML中的物件(元素)可能與同級元素連接,也可與低級元素相連形成 ......
uj5u.com 2020-09-10 05:35:54 more
-
6.1邏輯運算子
邏輯運算子 1. && 短路與 運算式1 && 運算式2 01.運算式1為true并且運算式2也為true 整體回傳為true 02.運算式1為false,將不會執行運算式2 整體回傳為false 03.只要有一個運算式為false 整體回傳為false 2. || 短路或 運算式1 || 運算式2 ......
uj5u.com 2020-09-10 05:35:56 more
-
BUAAOO 第四單元 & 課程總結
1. 第四單元:StarUml檔案決議 本單元采用了圖模型決議UML。 UML檔案可以抽象為圖、子圖、邊的邏輯結構。 在實作中,圖的節點包括類、介面、屬性,子圖包括狀態圖、順序圖等。 采用了三次遍歷UML元素的方法建圖,第一遍遍歷建點,第二、三次遍歷設定屬性、連邊,實作圖物件的初始化。這里借鑒了一些 ......
uj5u.com 2020-09-10 05:36:06 more
-
談談我對C# 多型的理解
面向物件三要素:封裝、繼承、多型。 封裝和繼承,這兩個比較好理解,但要理解多型的話,可就稍微有點難度了。今天,我們就來講講多型的理解。 我們應該經常會看到面試題目:請談談對多型的理解。 其實呢,多型非常簡單,就一句話:呼叫同一種方法產生了不同的結果。 具體實作方式有三種。 一、多載 多載很簡單。 p ......
uj5u.com 2020-09-10 05:36:09 more
-
Python 資料驅動工具:DDT
背景 python 的unittest 沒有自帶資料驅動功能。 所以如果使用unittest,同時又想使用資料驅動,那么就可以使用DDT來完成。 DDT是 “Data-Driven Tests”的縮寫。 資料:http://ddt.readthedocs.io/en/latest/ 使用方法 dd. ......
uj5u.com 2020-09-10 05:36:13 more
-
Python里面的xlrd模塊詳解
那我就一下面積個問題對xlrd模塊進行學習一下: 1.什么是xlrd模塊? 2.為什么使用xlrd模塊? 3.怎樣使用xlrd模塊? 1.什么是xlrd模塊? ?python操作excel主要用到xlrd和xlwt這兩個庫,即xlrd是讀excel,xlwt是寫excel的庫。 今天就先來說一下xl ......
uj5u.com 2020-09-10 05:36:28 more
-
當我們創建HashMap時,底層到底做了什么?
jdk1.7中的底層實作程序(底層基于陣列+鏈表) 在我們new HashMap()時,底層創建了默認長度為16的一維陣列Entry[ ] table。當我們呼叫map.put(key1,value1)方法向HashMap里添加資料的時候: 首先,呼叫key1所在類的hashCode()計算key1 ......
uj5u.com 2020-09-10 05:36:38 more
-
- 最新发布
-
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記18_基礎層之聯網
 # 1. 面向恢復的計算 ## 1.1. ROC,recovery-oriented computing ## 1 ......
uj5u.com 2023-07-04 08:46:26 more
-
互聯網高可用架構探討
在互聯網架構設計中,高可用是必不可少的環節,要從網路架構、服務架構、資料架構以及軟硬體架構等多方面來分析設計,是架構師必備的技能之一。 ......
uj5u.com 2023-07-04 08:46:19 more
-
問界低代碼平臺架構設計及業務實踐
內因:隨著之家業務快速發展,公司內部的數字化需求越來越多,資訊系統團隊每年都面對大量的需求,但研發側資源是一定的,那么如何更快速的交付需求,越來越成為團隊重點思考解決的問題。
外因:互聯網技術的不斷推陳出新,尤其以React,Vue為代表的前端技術框架突飛猛進,大幅降低了可視化拖拽操作的技術門檻。... ......
uj5u.com 2023-07-04 08:40:29 more
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記17_中間件、背壓和調
 # 1. 完全的解耦 ## 1.1. 各臺服務器、層級和應用程式解耦得越徹底,集成點、層疊失效、回應緩慢和執行緒阻 ......
uj5u.com 2023-07-03 08:13:22 more
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記17_中間件、背壓和調
 # 1. 完全的解耦 ## 1.1. 各臺服務器、層級和應用程式解耦得越徹底,集成點、層疊失效、回應緩慢和執行緒阻 ......
uj5u.com 2023-07-03 08:07:42 more
-
說說設計模式~管道模式(pipeline)
[回到目錄](https://www.cnblogs.com/lori/p/3896484.html) # 說明 復合的責任鏈,類似于管道模式,只要符合條件,說會向下傳遞,不會終止 # 演算法說明 * 按最高優先級去使用,符合就用,不符合就走下一個策略 * 具體鏈條,有點像pipeline管道模式 * ......
uj5u.com 2023-07-01 08:47:21 more
-
第一次操盤大促,穩定性保障如何做到萬無一失?
業界有很多大促活動,像618、雙11、雙12等等。每一次大促不只是給業務帶來了新高,對于技術同樣也有很重要的意義,縱觀一些優秀的技術團隊,都是跟著業務一起成長的。在高并發大流量的背景下,如何支撐好業務運營,是一件很有挑戰性的事情,它可以從多方面檢驗我們的技術能力,對我們的系統架構和應急保障都提出了很... ......
uj5u.com 2023-07-01 08:47:04 more
-
說說設計模式~管道模式(pipeline)
[回到目錄](https://www.cnblogs.com/lori/p/3896484.html) # 說明 復合的責任鏈,類似于管道模式,只要符合條件,說會向下傳遞,不會終止 # 演算法說明 * 按最高優先級去使用,符合就用,不符合就走下一個策略 * 具體鏈條,有點像pipeline管道模式 * ......
uj5u.com 2023-07-01 08:46:42 more
-
第一次操盤大促,穩定性保障如何做到萬無一失?
業界有很多大促活動,像618、雙11、雙12等等。每一次大促不只是給業務帶來了新高,對于技術同樣也有很重要的意義,縱觀一些優秀的技術團隊,都是跟著業務一起成長的。在高并發大流量的背景下,如何支撐好業務運營,是一件很有挑戰性的事情,它可以從多方面檢驗我們的技術能力,對我們的系統架構和應急保障都提出了很... ......
uj5u.com 2023-07-01 08:46:09 more
-
讀發布!設計與部署穩定的分布式系統(第2版)筆記16_握手和考驗機
 # 1. 握手 ## 1.1. 發送方和接收方之間的信號傳遞程序 ## 1.2. 模擬調制解調器使用一種握手形式 ......
uj5u.com 2023-06-30 08:31:23 more
- 友情鏈接
-
-