Erlang在內部使用什麼算法或設計模式來保證跨多個節點的唯一pid? Erlang還使用什麼算法或設計模式來保持全局節點名稱映射在所有節點之間同步?erlang獨特的pid和全局同步(對於c#.Net)
此問題的目的是在分佈式C#.Net應用程序中創建類似的行爲。 C#.Net系統已經具有高性能,並行消息傳遞和任務調度算法,與Erlang非常類似,可以在多個內核上進行並行處理。
現在的目標是擴展它以發送和接收來自和來自不同機器上多個節點的消息。
一個簡單的解決方案是將其設置爲「客戶端&服務器」,以便只有其中一個節點是用於保留唯一PID節點和全局名稱的「主」節點。
但是,在所有節點之間複製數據是一個誘人的設計,因此每次都可以避免網絡查找,以檢查命名節點的實際位置,因爲它可能故障切換到另一臺計算機。
如果對節點名稱表的任何更改都複製到像Erlang這樣的所有節點上,那麼對於每個傳遞的消息來說,它的效率會更高。
另外,如果「主」節點失敗怎麼辦?所以分佈式,複製和同步解決方案是一個更好的設計。
任何人都可以直接瞭解Erlang如何在封面下執行此操作嗎?
[This answer](http://stackoverflow.com/a/262179/113848)可能會有所幫助。 – legoscia
是的。這個答案解決了關於PID的問題。但是全球名稱表呢? – Wayne