簡體   English   中英

在erlang中向遠程節點端口發送消息

[英]Sending message to remote node port(s) in erlang

在兩個遠程節點之間發送消息時。

erlang:發送使用像epmd那樣的單個端口嗎?

erlang:send 使用像epmd那樣的單個端口。 Erlang使用EPMD端口查找其他節點,因此所有服務器必須能夠在此端口上相互通信。 在Erlang集群中,所有節點都連接到網格中的所有其他節點。 Erlang epmd將使用兩個端口,一個用於發現其他erlang節點(默認端口4369)和實際通信的動態范圍。

群集中的所有節點都必須使用相同的epmd端口號進行偵聽

另請注意,Epmd會跟蹤哪個Erlang節點正在使用本地計算機上的哪些端口。 如果要限制Erlang將用於Erlang間節點通信的端口范圍(例如9100-9105),可以在app.config中添加以下行,設置內核變量' inet_dist_listen_min '和' inet_dist_listen_max '。

例:

{ kernel, [
              {inet_dist_listen_min, 9100},
              {inet_dist_listen_max, 9105}
             ]},

或者在使用內核變量' inet_dist_listen_min '和' inet_dist_listen_max '啟動erlang節點時。

例:

erl -sname foo -kernel inet_dist_listen_min 9100 inet_dist_listen_max 9105

確保您設置的范圍為群集中的所有節點提供了足夠的端口。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM