Lightning-Network
閃電節點高可用/高吞吐量
執行高可用性/高吞吐量閃電節點是否有任何資源/最佳實踐?如果我的閃電服務從哪裡起飛,我應該執行多個閃電節點還是單個閃電節點?可以橫向擴展嗎?也許每個通道都可以在不同的機器上管理?
所以這裡有幾件事需要考慮:
- 數據庫,如果您要對閃電節點進行故障轉移,它需要遠端可用。我們在此處的部落格文章中討論了為遠端數據庫 (postgres) 添加對 eclair 的支持
- 安全訪問數據庫。如果您有兩個節點同時寫入數據庫,則它們可能會寫入衝突的版本,這可能會導致區塊鏈上的懲罰交易。這意味著您需要某種鎖定機制來訪問數據庫。我們也在 eclair 上實現了這個,你可以在這裡找到關於它的部落格文章和關於 eclair 的實際 PR 在這裡。
- 需要考慮的最後一件事是如何以高度可用但安全的方式使密鑰材料可用。這仍然是我們在 Suredbits 探索的東西。要做的“愚蠢”事情就是在您擁有的每個節點上複製密鑰。
現在您應該能夠啟動任意數量的節點。應該有 1 個主動更新數據庫的主節點,以及
n
等待主節點失敗的影子節點。為了實現這一點,您可以使用 Amazon 的ELB和健康檢查之類的東西來確定目前主節點何時發生故障,並且您應該提升“影子”節點之一。你可以在 youtube 上看到這個展示
執行高可用性/高吞吐量閃電節點是否有任何資源/最佳實踐?
在閃電網路中,執行應用程序時的任何干擾(斷電、伺服器崩潰)都可能導致資金永久損失。因此,如果您自己無法提供伺服器的高可靠性,建議您在雲或 colo 等託管設施中執行伺服器。在您的情況下尤其如此,因為您將執行多個節點來路由付款。任何伺服器故障都可能造成直接的金錢損失。
為了獲得高吞吐量(更高的閃電路由),您可以使用自動駕駛功能來確定要連接到哪些節點以及每個通道中必須擁有多少流動性。您可能需要考慮的事情包括增加節點的中心性、增加擁有資金充足的路線的可能性以及改善您在自己的地理範圍內的存在。
如果我的閃電服務從哪裡起飛,我應該執行多個閃電節點還是單個閃電節點?
取決於您要提供的服務。如果您想提供託管解決方案,則可以考慮執行一個閃電節點。但是,增加節點數量將增加您的路由能力的可能性,防止瓶頸,從而提供更好的客戶服務。
如果你想讓使用者負責他們的資金,你別無選擇,只能使用多個閃電節點,每個使用者一個。
也許每個通道都可以在不同的機器上管理?
無需在不同的機器上執行不同的節點。您可以在同一台機器中創建單獨的目錄並執行閃電節點。