讀發佈!設計與部署穩定的分散式系統(第2版)筆記18_基礎層之聯網

来源:https://www.cnblogs.com/lying7/archive/2023/07/04/17523240.html
-Advertisement-
Play Games

![](https://img2023.cnblogs.com/blog/3076680/202307/3076680-20230703163125832-353926546.png) # 1. 面向恢復的計算 ## 1.1. ROC,recovery-oriented computing ## 1 ...


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地址所屬的不同網卡,併到達同一個目的地


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 摘要:DynamoDB是一款托管式的NoSQL資料庫服務,支持多種數據模型,廣泛應用於電商、社交媒體、游戲、IoT等場景。 本文分享自華為雲社區《完全相容DynamoDB協議!GaussDB(for Cassandra)為NoSQL註入新活力》,作者:GaussDB 資料庫 。 DynamoDB是一 ...
  • 摘要: 在SQL Server資料庫中,NULL是表示缺少數據或未知值的特殊標記。處理NULL值是SQL開發人員經常遇到的問題之一。本文將介紹SQL Server中判斷和處理NULL值的不同方法,以及一些解決方案,幫助您更好地處理資料庫中的NULL值情況。 文章內容: 引言: 在資料庫開發中,經常會 ...
  • # 一. 多表關係 - **一對多(多對一)** - **多對一** - **一對一** ## 1. 一對多 ### (1). 案例:部門與員工的關係 ### (2). 關係:一個部門對應多個員工,一個員工對應一個部門 ### (3). 實現:在多的一方建立外建,指向一的一方的主鍵 ![](http ...
  • # 一. 函數 **Mysql中的函數主要分為四類:字元串函數、數值函數、日期函數、流程函數** ## 1. 字元串函數 **常用函數如下:** | 函數 | 功能 | | | | | CONCAT(S1, S2, ......Sn) | 字元串拼接,將S1,S2,.....Sn拼接成一個字元串 | ...
  • 作為一款服務國土調查和自然資源管理工作的一款手機App,是自然資源部自然資源調查監測司組織中國國土勘測規劃院應用互聯網+、雲計算等技術,依托“三調”和年度國土變更調查工程開發的平臺。分為管理版和專業版兩個版本,其中,管理版面向自然資源系統內人員,專業版面向系統外專業技術隊伍。 “國土調查雲”具有土地 ...
  • 這裡給大家分享我在網上總結出來的一些知識,希望對大家有所幫助 前言 記錄分享每一個日常開發項目中的實用小知識,不整那些虛頭巴腦的框架理論與原理,之前分享過抽獎功能、簽字功能等,有興趣的可以看看本人以前的分享。 今天要分享的實用小知識是最近項目中遇到的標簽相關的功能,我不知道叫啥,姑且稱之為【多行標簽 ...
  • 如何恰當地處理數據量龐大的Excel文件,避免記憶體溢出問題?本文將對比分析業界主流的Excel解析技術,並給出解決方案。 ...
  • 本文以 `React`、`Vue` 為例,介紹下主流的渲染模式以及在主流框架中如何實現上述的渲染模式。 ## 前置知識介紹 看渲染模式之前我們先看下幾個主流框架所提供的相關能力,瞭解的可跳到下個章節。 ### 掛載組件到 DOM 節點 這是主流框架最基本的能力,就是將組件渲染到指定的 `DOM` 節 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...