2017-08-12 106 views
2

我正在通過在線示例,已經可以使用mnesia ram副本並將它們連接起來,但是我對一些事情有點困惑。Erlang Mnesia Distribution如何工作

1:啓動節點(創建模式的人)是否只有本地模式? (例如,在根文件夾= [email protected]

我問,因爲在另一個節點上,我可以簡單地啓動mnesia和change_config(extra_db_nodes,[node]),並自動獲取所有打開的數據起始節點。

這對我來說似乎很奇怪,如果所有節點都關閉,會發生什麼?這意味着在你做任何事情之前,初學者節點都需要先運行。

2:好像有很多不同的方式來節點連接,並複製表...我可以得到不同的方法來做到這一點,他們的影響列表?

3:從第一個問題,呼籲change_config後,你怎麼能知道它的完成下載的所有數據,然後才能開始使用它?例如,如果有人連接到節點,並檢查它們是否已聯機,則可能會將它們連接到另一個節點,並且在檢查過程中不會獲取該數據。

4:連接到節點後,是否自動連接到所有節點?它會自動更新您的本地ram副本而不做任何事情嗎?在閱讀和寫作時,它如何確保同步?我需要做什麼特別的事情嗎?

關於問題1再次 - 你有沒有節點進程運行,保存本地模式,並使用此節點連接所有節點?如果可能的話,你是否可以禁止mnesia將ram拷貝複製到這個節點進程?

我知道這是很多,所以謝謝你的時間。

回答

0

不是直接回答你的問題,但你可以檢查出Erlang Performance Lab這可能會幫助你理解在Mnesia中的一些操作中如何工作通過可視不同節點之間的消息。