前文介紹了整體吞吐的提升主要通過增加新鏈的方式,那怎么能做到輕量地增加新鏈呢?
迅雷鏈的路由規則選擇的是最簡單直接的針對地址取模,比如針對 1024取模,因為地址是根據公鑰經過 hash運算出來的,整體隨機分布,所以基本上所有用戶會平均分布到這些鏈上。
以當前有 1024條鏈舉例,其編號從 0到 1023,地址取模結果是 1、1025、2049、3073、……會落到 1號鏈。 那么當我們想擴容到 2048條鏈的時候,實際上是原來每條鏈上的一半用戶遷移到新鏈。新鏈啟動時區塊數據來自原來的鏈,比如 1025號鏈的數據來自原來的 1 號鏈,原來在 1號鏈上地址取模為 1025、3073、……的用戶數據之后會都落在 1025這條鏈;而原來在 1號鏈上地址取模為 1、2049、……的用戶數據之后還在 1號這條鏈上。
通過這樣的方式,可以讓擴鏈的整體變動最小化。
結語
介紹了這么多,大家對迅雷鏈的整體設計已經了解,那么下一步可以基于迅雷鏈來搭建自己的應用啦。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。