Нода

Нода — узловой процесс, подсистема (по отношению к Системе).

С точки зрения операционки нода это именно процесс, наравне с другими процессами операционной системы. Акторы — подпроцессы этого процесса (и операционка их не видит).

В Системе ноды могут эффективно взаимодействовать между собой. Узнать имя текущей ноды можно с помощью бифа node(), а получить список нод, с которыми связаны — с помощью бифа nodes().

Имя ноды включает знак @, например: komp1@sis. В Эрланге специально предусмотрено, что знак @ может являться частью атома, поэтому имена нод вроде указанного являются не строками, а атомами.

Когда нода Эрланга запускается, она имеет имя и получает адрес от ядра ОС хоста. Эти имя и адрес отправляются демону epmd, работающему на локальном хосте. В среде TCP/IP, которую как правило использует epmd, адрес состоит из IP-адреса и номера порта. Задача epmd — отслеживать, какое имя узла по какому адресу прослушивается, то есть сопоставлять имена узлов с адресами компьютеров.

В OTP содержится много удобных инструментов для работы с нодами.


© Алексей Карманов, 2024.