Leveldb

為什麼乙太坊可以同時使用級別 db 執行這麼多程序?

  • July 28, 2018

Leveldb 只能在單個程序中執行。

為什麼乙太坊可以同時執行p2p、create block、rpc server,而leveldb沒有鎖?

您提到的所有模組:p2p、blocks、rpc 等,都在一個獨特的程序中執行:geth.

geth不同的模組內部可以訪問通過互斥鎖和其他同步原語(如鎖)同步的 leveldb。

當您執行像 levelDb 這樣的鍵值儲存時,瓶頸不是 CPU 使用,而是磁碟 IO。因此,如果您使用 1 個或多個程序來處理集合和獲取並不重要,但主要是硬碟驅動器的速度是相關的。

引用自:https://ethereum.stackexchange.com/questions/55136