日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

笔记: 《分布式系统:概念与设计》第一章 分布式系统的特征

發布時間:2023/12/2 windows 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 笔记: 《分布式系统:概念与设计》第一章 分布式系统的特征 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1.1 簡介

分布式系統概念:一個硬件或軟件組件分布在連網的計算機上,組件之間通過傳遞消息進行通信和動作協調的系統

分布式系統的特征:

  • 并發:用戶在各自的計算機上工作,請求某一類共享資源。系統處理共享資源的能力會隨著網絡資源(硬件或軟件)的增加而提高。
  • 缺乏全局時鐘:網絡上的計算機與時鐘同步所達到的準確性是有限的,即沒有一個正確時間的全局概念。
  • 故障獨立性:系統的每個組件會單獨出現故障,而其他組件還在運行。
  • 構造和使用分布式系統的主要動力來源于對共享資源的期望。

    1.2 分布式系統的例子

    (1)Web搜索:Google
    (2)大型多人在線游戲
    (3)金融交易
    (4)分布式多媒體系統

    Google用于支持搜索的分布式系統基礎設施的亮點:
    (1)一個底層物理設施:由位于全世界的多個數據中心的聯網計算機組成
    (2)一個分布式文件系統
    (3)一個相關的結構化分布式存儲系統:提供對超大數據集的快速訪問
    (4)一個鎖服務:提供分布式加鎖和協定等功能
    (5)一個編程模式:支持對超大并行和分布式計算的管理

    復雜事件處理(Complex Event Processing, CEP):提供一種方法來將一起發生的事件組成邏輯的、時序的或空間的模式。

    防火墻:保護企業內部網,防止未授權的消息進出網絡。防火墻是通過過濾到達消息和外發消息來實現的,可在源或目的地進行過濾。

    1.3 分布式系統的趨勢

    移動計算:指用戶在移動或訪問某個非常規環境時執行計算任務的性能。

    云被定義成一組基于互聯網的應用,并且足以滿足大多數用戶需求的存儲和計算服務的集合,這使得用戶能大部分或全部免除本地數據存儲和應用軟件的使用。

    通常,云實現在集群計算機上,從而提供每個服務所要求的必要的伸縮性和性能。集群計算機(cluster computer)是互連的計算機集合,它們緊密協作提供單一的、集成的高性能計算能力。集群服務器的總目的是提供一系列的云服務,包括高性能計算能力、大容量存儲,豐富的應用服務。

    1.4 關注資源共享

    服務:表示計算機系統中管理相關資源并提供功能給用戶和應用的一個單獨的部分。服務將資源訪問限制為一組定義良好的操作。

    客戶-服務器計算:指在連網的計算機上的一個運行程序,這個程序接收來自其他計算機上正在運行的程序的請求,這執行一個服務并適當地做出響應。發出請求的稱為客戶,響應請求的程序服務器。

    1.5 挑戰

    (1)異構性

    異構性,即存在多樣性和差別。以下幾個方面均存在異構性:

    • 網絡
    • 計算機硬件
    • 操作系統
    • 編程語言
    • 由不同開發者完成的軟件實現

    中間件:指一個軟件層,它提供一個編程抽象,同時屏蔽了底層網絡、硬件、操作系統和編程語言的異構性。

    移動代碼:指能從一臺計算機發送到另一臺計算機,并在目的計算機上運行的代碼。適合在一種計算機上運行的代碼未必適合在另一種計算機上運行,因為可執行程序通常依賴于計算機的指令集和操作系統(例如Windows和Linux)

    (2)開放性

    分布式系統的開放性主要取決于新的資源共享服務能被增加和供多種客戶程序使用的程度。

    開放的分布式系統特征總結:

  • 發布系統的關鍵接口
  • 開發的分布式系統是基于一致的通信機制和發布接口訪問共享資源的
  • 開放的分布式系統能用不同銷售商提供的異構硬件和軟件構造,但如果想讓系統正確工作,就要仔細測試和驗證每個組件與發布的標準之間的一致性
  • (3)安全性

    信息資源的安全性包括三個方面:

  • 機密性:防止泄漏給未授權的人
  • 完整性:防止被改變或被破壞
  • 可用性:防止對訪問資源的手段的干擾
  • 加密技術可解決的問題:

  • 以安全的方式在網絡上通過消息發送敏感信息
  • 正確地識別遠程用戶或其他代理的身份
  • 尚未圓滿解決的安全問題:

  • 拒絕服務攻擊:用大量無意義的請求攻擊服務,使得重要的用戶不能使用它。
  • 移動代碼的安全:運行來自網絡上的可執行程序,其后果是不可預測的。
  • (4)可伸縮性

    如果資源數量和用戶數量激增,系統仍能保持其有效性,那么該系統就被稱為可伸縮的。

    可伸縮分布式系統的設計面臨的挑戰:

  • 控制物理資源的開銷:當對資源的需求增加時,應該可以花費合理的開銷擴展系統以滿足要求。
  • 控制性能損失:合理的算法設計,采用層次結構的算法其伸縮性要好于使用線性結構的算法。
  • 防止軟件資源用盡:比如IPv4地址即將用盡
  • 避免性能瓶頸:算法應該是分散型,以避免性能瓶頸。緩存和復制可以用于提高頻繁使用的資源的性能。
  • (5)故障處理

    分布式系統的故障是部分的,即有些組件出了故障而有些組件運行正常。因此故障的處理相當困難。

    故障處理技術:

  • 檢測故障:有些故障通過一定的手段是可以被檢測的。

  • 掩蓋故障:有些被檢測到的故障能被隱藏起來或降低它的嚴重程度。例如:

    (1)消息在不能到達時進行重傳(2)將文件數據寫入兩個磁盤,如果一個磁盤損壞,另一個磁盤的數據仍是正確的。
  • 容錯:試圖檢測并隱藏所有的故障是不實際的,服務的客戶應該能被設計成容錯的。例如:瀏覽器不會一直等待與它的服務器建立連接,如果不能連接,則通知用戶嘗試稍后進行連接。

  • 故障恢復:在服務器崩潰后,永久數據的狀態能被恢復或“回滾”。

  • 冗余:利用同于組件,服務可以實現容錯。

  • 面對硬件故障,分布式系統提供高可用性。系統的可用性是對系統可用時間的比例的一個度量指標。當分布式系統中的一個組件出現故障時,僅僅是使用受損組件的那部分工作受到影響。如果用戶正在使用的計算機出現故障,用戶可以轉移到另一臺計算機上,并且服務器進程能在另一臺計算機上啟動。

    (6)并發性

    服務和應用通常運行并發地處理多個客戶請求。為了使對象在并發環境中能安全使用,它的操作必須在數據保持一致的基礎上同步。這可通過標準的技術(信號量或鎖等等)來實現。

    (7)透明性

    定義:對用戶和應用程序員屏蔽分布式系統的組件的分離性,使系統被認為是一個整體,而不是獨立組件的集合。

    訪問透明性:用相同的操作訪問本地資源和遠程資源。
    位置透明性:不需要知道資源的物理或網絡位置就能夠訪問它們。
    并發透明性:幾個進程能并發地使用共享資源進行操作而互不干擾。
    故障透明性:屏蔽錯誤,無論是硬件還是軟件故障,用戶都能夠完成它們的任務。
    性能透明性:當負載變換,系統能被重新配置以提高性能。
    伸縮透明性:系統和應用能夠進行擴展而不改變系統結構或應用算法。

    訪問透明性:例如具有文件夾的圖形界面,無論是本地資源還是遠程資源,文件夾的圖形用戶界面都是一樣的。

    位置透明性:例如Web資源名或URL就是位置透明的,不需要知道資源的物理或網絡位置即可進行訪問。

    網絡透明性(訪問透明性和位置透明性的統稱):例如電子郵件地址的使用。給用戶發送郵件不需要知道他們的物理位置或網絡位置,發送郵件信息的過程也不依賴于接收者的位置。

    (8)服務質量

    影響客戶和用戶體驗的服務質量是可靠性、安全性和性能。

    1.6 實例研究:萬維網

    Web基于以下三個主要的標準技術組件:

    (1)超文本標記語言(HTML) :頁面在瀏覽器上顯示時指定其內容和布局的語言。
    (2)統一資源定位器(URL):用于識別文檔和保存成Web一部分的其他資源。
    (3)具有標準交互規則(超文本傳輸協議,HTTP)的客戶-服務器體系結構。

    HTTP URL有兩項主要的工作:

  • 識別出哪一個Web服務器維護資源
  • 識別出該服務器上的那些資源是被請求的
  • HTTP的主要特征:

  • 請求-應答交互:HTTP定義了一些能在一個資源上操作集合和方法。最常見的操作時POST和GET,它們從資源中檢索數據以及提供數據給資源。
  • 內容類型:瀏覽器未必能處理每一種內容類型。可使用外部插件來識別處理特定的內容,因為瀏覽器對指定的內容類型所采取的動作是可配置的。
  • 一次請求一個資源:客戶的每個HTTP請求只指定一個資源。通常瀏覽器可同時發出幾個請求,以減少對用戶的整體延遲。
  • 簡單的訪問控制:給發出請求的客戶回發一個“質詢”,要求證明其權限可以訪問某些資源。例如口令、密碼等。
  • Web服務器上運行的為客戶生成內容的程序通常稱為公共網關接口(Common Gateway Interface, CGI)程序。一個CGI程序可以具有任何特定應用的功能,只要它分析客戶提供給它的參數,產生所要求類型的內容。

    可擴展標記語言(Extensible Markup Language, XML)是一種以標準的、結構化的、特定于應用的格式表示數據的方式。從原理上看,用XML表示的數據在不同的應用間是可移植的,因為它是自描述的:它包含數據元素的名字、類型和結構。

    第一章完,謝謝閱讀。

    總結

    以上是生活随笔為你收集整理的笔记: 《分布式系统:概念与设计》第一章 分布式系统的特征的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。