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

歡迎訪問 生活随笔!

生活随笔

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

windows

[心得]分布式系统概念与设计知识整理

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

前言

DISTRIBUTED SYSTEMS Concepts and Design Fifth Edition George Coulouris et al
因為學習推薦算法的緣故,打算系統補習一下分布式系統相關的概念。
找到了這本書,第五版,中文名:分布式系統:概念與設計

花了整整1天讀下來,收獲很多,沒有浪費時間。確實如做這個叢書的編輯所言:計算機領域經典著作,被譽為是衡量所有其他分布式系統教材的標準,已被愛丁堡大學、伊利諾伊大學、卡內基-梅隆大學、南加州大學、得克薩斯A&M大學、多倫多大學、羅切斯特理工學院、北京大學等名校采納為高級操作系統、計算機網絡、分布式系統課程的教材。華章從第3版就開始引進這本《分布式系統:概念與設計(原書第5版)》,每個版本翻譯版印量約為7000冊,影印版約為5000冊。雖然由于屬于高級課程,銷量有局限性,但本書在高等院校的師生和研究人員中具有很高的知名度,對于華章教育品牌也具有較大的支撐作用,所以確定繼續做這本教材。

知識筆記

著重搞清楚三個問題:

  • 分布式的定義
  • 緩存機制
  • 消息機制
  • 分布式系統是組件分布在網絡計算機上且通過消息傳遞進行通信和動作協調的系統。

    分布式系統具備3個特征:

  • 組件并發
  • 缺乏全局時鐘
  • 組件故障獨立
  • 服務表示計算機系統中管理相關資源并為用戶和應用提供功能的單獨組成部分。

    構造分布式系統的挑戰是其組件的異構性、開放性(允許增加或替換組件)、安全性、可伸縮性(用戶數量增加時能正常運行的能力)、故障處理及組件的并發性和透明性。

    交互模型處理消息發送等的性能問題,解決在分布式系統中設置時間限制的難題。
    故障模型給出進程和信道故障的一個精確規約。
    安全模型討論了對進程和信道的各種可能的威脅,它引入了安全通道的概念。

    CORBA:公共對象請求代理體系結構

    C-S服務模型:

  • 數據分區或者復制
  • 由代理服務器和客戶進行數據緩存
  • 使用移動代碼和移動代理
  • 便利地增刪移動設備
  • 最底層的硬件和軟件層通常被稱為分布式系統和應用的平臺。

    屏蔽異構性的軟件層稱為中間件。例如CORBA,RMI,DCOM

    瘦客戶指在執行遠程應用程序時支持本地UI的軟件層,主要缺點是高度交互時,網絡和操作系統延遲。例如X11。

    分布式系統使用局域網,廣域網和互聯網進行通信。計算機網絡原理包括協議的7層分層,包交換,路由以及數據流。

    進程間通信主要有2種:

  • C-S通信模式:請求R和應答A消息是RPC和RMI的基礎
  • 組通信模式:同一消息被發送到幾個進程
  • UDP和TCP都是用套接字抽象,一種源于BSD UNIX系統的概念。

    UDP存在可能遺漏和亂序的故障。在UDP上構造可靠的C-S通信請求-應答協議需要實現doOperation, getRequest and sendReply 3個原語,然后再根據應用做優化。DNS域名服務基于UDP。

    在java中,序列化指的是將一個對象或一組有關聯的對象封裝成適合磁盤存儲或消息發送的串行格式。反序列化則是從串行格式中恢復對象或一組對象。

    冪等操作是指能重復執行的操作。
    RPC協議有3種:R,RA和RRA。
    組播:單消息從一個進程發送到一組進程的每個成員。在應用層,IP組播僅通過UDP可用。

    利用消息標識和消息重傳確保一個方法最終確實執行。
    分布式應用是指由運行在不同進程中互相協作的程序組成的應用。
    IDL:接口定義語言。它是的不同語言實現的對象能互相調用。典型的如protobuf和thrift。

    持久對象:也叫鈍化對象,指那些在兩次激活之間仍然保證存活著的對象。

    在遠程方法調用RMI編程模型中,某個對象的遠程接口中的一個方法被同步地調用(調用者等待應答)。
    在基于事件的編程模型中,每當關注的對象上發生一個已發布事件,就把它通過異步地傳送給多個訂閱者。

    操作系統實現了在服務器端的資源封裝和保護,同時它還支持用于訪問資源的調用機制,這其中包括通信和調度。

    網絡操作系統的獨特特點是,運行于其上的結點能獨立地管理自己的進程資源。
    分布式系統對系統中的所有資源只生成單一映像。

    進程由執行環境和線程組成。執行環境包括地址空間、通信接口和其他像信號量這樣的本地資源
    線程是執行環境中的活動抽象。

    保密密鑰加密算法更適合大量數據加密任務。混合型協議,例如SSL,安全套接字層,用公開密鑰加密算法先建立一個安全通道,然后使用通道交換密鑰,并將此保密密鑰用于后繼的數據交換。

    加密就是將消息編碼以隱藏原有內容的一個過程。

    安全機制基于公開密鑰或保密密鑰。密碼算法以某種方式對消息進行交換和混亂,使之在不知道解密密鑰情況下不可逆。
    ACL:訪問控制列表

    分布式文件系統主要設計問題包括:

  • 有效使用客戶緩存
  • 當更新文件時,維持多個副本的一致性
  • 出錯后的恢復
  • 讀寫不同數據量的文件的高吞吐量
  • 可伸縮性
  • LDAP:輕量級目錄訪問協議
    命名服務存儲了分布式系統中的對象的屬性,特別是它們的地址,并在用一個文本名查詢時,返回這些屬性。
    命名服務的主要需求是處理任意數量的名字的能力,服務應具有長期性、高可用性、故障隔離性與不信任容忍性。
    命名服務的主要設計問題:首先,名字空間的結構,名字管理的語法規則;其次,綁定名的集合必須被管理。再次,導航問題;最后,復制與緩存的使用。

    Lamport時鐘是一個計數器,它們依照事件之間的發生在先關系進行更新。時鐘向量是Lamport時鐘的改進,通過檢查時間戳向量,可以決定兩個事件是否是按發生在先關系排序或是并發的。

    分布式互斥服務有3種算法:

  • 中央服務器算法
  • 基于環的算法
  • 基于組播的使用邏輯時鐘的算法
  • 事務所服務器上的一個操作序列,由服務器保證這些操作序列在多個客戶并發訪問和服務器出現故障情況下的原子性。

    并發控制協議基于串行相等的標準,起源于用于解決操作間沖突的規則,主要有以下3種方法:

  • 鎖用于在多個事務訪問同一個對象時,根據這些操作訪問同一個對象的先后次序給事務排序
  • 樂觀并發控制不會阻塞事務運行,只是在提交時通過檢查來確定已執行的操作是否存在沖突
  • 時間戳排序利用時間戳將訪問同一個對象的事務根據其起始時間進行排序
  • 一個分布式事務是指涉及多個不同服務器的事務。

    利用兩階段加鎖方式的分布式事務會導致分布式死鎖。分布式死鎖檢測的目的是在全局等待圖中尋找環路。一旦某個環路被發現,一個或者多個事務被放棄來解除死鎖。

    在分布式系統中,復制是高可用和容錯的關鍵技術。
    定義線性化和順序一致性作為容錯服務的正確準則。
    在被動(主備份)復制中,通過直接將所有的請求發送到一個選出的副本管理器,并在其出故障時選出一個備份代替它,可以獲得容錯。
    在主動復制中,所有副本管理器獨立地處理所有的請求。
    通過組通信,可以方便地實現這兩種復制形式。
    多媒體應用程序實時地生成和消耗連續的數據流,因而需要新的系統機制。這些機制中最重要的是服務質量管理。
    QoS請求指定了多媒體數據流可接受的帶寬,延遲和丟失率。
    DSM:分布式共享內存,它是在不共享物理內存的不同計算機進程之間共享數據的一個抽象。

    DSM主要的設計問題和實現問題包括:

  • DSM結構
  • 應用程序實現同步的方法
  • 內存一致性模型
  • 使用寫-更新還是寫-失效協議
  • 共享力度
  • 系統顛簸
  • 總結

    以上是生活随笔為你收集整理的[心得]分布式系统概念与设计知识整理的全部內容,希望文章能夠幫你解決所遇到的問題。

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