P2P普及系列之二 分布式結構

2021-04-12 16:47:41 字數 1119 閱讀 4546

pastry是微軟研究院提出的可擴充套件的分布式物件定位和路由協議,可用於構建大規模的p2p系統。在pastry中,每個結點分配乙個128位的結點識別符號號(nodeid) ,所有的結點識別符號形成了乙個環形的nodeid空間,範圍從0到2128 - 1 ,結點加入系統時通過雜湊結點ip位址在128位nodeid空間中隨機分配。

在mit,開展了多個與p2p相關的研究專案:chord,grid和ron。chord專案的目標是提供乙個適合於p2p環境的分布式資源發現服務,它通過使用dht技術使得發現指定物件只需要維護o(logn)長度的路由表。

在dht技術中,網路結點按照一定的方式分配乙個唯一結點識別符號(node id) ,資源物件通過雜湊運算產生乙個唯一的資源識別符號(object id) ,且該資源將儲存在結點id與之相等或者相近的結點上。需要查詢該資源時,採用同樣的方法可定位到儲存該資源的結點。因此,chord的主要貢獻是提出了乙個分布式查詢協議,該協議可將指定的關鍵字(key) 對映到對應的結點(node) 。從演算法來看,chord是相容雜湊演算法的變體。mit grid和ron專案則提出了在分布式廣域網中實施查詢資源的系統框架。

t&t aciri中心的can(content addressable networks) 專案獨特之處在於採用多維的識別符號空間來實現分布式雜湊演算法。can將所有結點對映到乙個n維的笛卡爾空間中,並為每個結點盡可能均勻的分配一塊區域。can採用的雜湊函式通過對(key, value) 對中的key進行雜湊運算,得到笛卡爾空間中的乙個點,並將(key, value) 對儲存在擁有該點所在區域的結點內。can採用的路由演算法相當直接和簡單,知道目標點的座標後,就將請求傳給當前結點四鄰中座標最接近目標點的結點。can是乙個具有良好可擴充套件性的系統,給定n個結點,系統維數為d,則路由路徑長度為o(n1/d) ,每結點維護的路由表資訊和網路規模無關為o(d) 。

半分布式結構(有的文獻稱作 hybrid structure)吸取了中心化結構和全分布式非結構化拓撲的優點,選擇效能較高(處理、儲存、頻寬等方面效能)的結點作為超級點(英文文獻中多稱作:supernodes, hubs),在各個超級點上儲存了系統中其他部分結點的資訊,發現演算法僅在超級點之間**,超級點再將查詢請求**給適當的葉子結點。半分布式結構也是乙個層次式結構,超級點之間構成乙個高速**層,超級點和所負責的普通結點構成若干層次。最典型的案例就是kazaa。

P2P分布式網路簡史

arpanet,中文稱為阿帕網,一開始只是連線加州大學洛杉磯分校,斯坦福研究所,加州大學 聖塔芭芭拉和猶他大學,彼此間視為對等的計算機節點,而不非 c s 結構。阿帕網為美國國防部高階研究計畫署開發的世界上第乙個運營的封包交換網路,它是全球網際網路的始祖。早期網際網路比較流行的應用,比如 ftp 和...

P2P分布式網路簡史

本文簡短回顧下p2p網路發展的一些重要標誌性事件。arpanet,中文稱為阿帕網,一開始只是連線加州大學洛杉磯分校,斯坦福研究所,加州大學 聖塔芭芭拉和猶他大學,彼此間視為對等的計算機節點,而不非 c s 結構。阿帕網為美國國防部高階研究計畫署開發的世界上第乙個運營的封包交換網路,它是全球網際網路的...

分布式事務(二)分布式事務方案

首先這是普通事務 下面是分布式事務 在微服務系統中,每個微服務應用都可能會有自己的資料庫,它們首先需要控制自己的本地事務。一項業務操作可能會呼叫執行多個微服務。如何保證多個服務執行的多個資料庫的操作整體成功或整體失敗?這就是分布式事務要解決的問題。cap 和 base 是對大規模網際網路系統分布式實...