Erlang - 创建整数(分布式 pid 表示的一部分)实际上是如何创建的?

Erlang - How is the creation integer (a part of a distributed pid representation ) actually created?

在分布式 Erlang 系统中,pid 可以有两种不同的表示形式:i) internal; ii) 外部。
内部表示具有以下形状:< A.B.C >

外部表示,例如当消息必须跨越不同节点时使用的,由以下元素组成:< node_id, ID, serial, creation > 根据 official documentation
其中node_id为节点名称,IDserial标识node_id上的进程,creation为一个整数,用于区分该节点与过去(崩溃)本身的版本。

我找不到的是虚拟机如何创建 creation 整数。

通过在我的 PC 上设置一个小实验,我发现如果我多次创建和杀死同一个节点,计数器总是增加 1,并且通过在不同机器上创建同一个节点,creation 整数不同,但在结构上有一些相似之处,例如:

machine 1 -> creation integer = 1647595383   
machine 2 -> creation integer = 1647596018 

你们中有人知道这个整数是如何创建的吗?如果是这样,您能否向我解释一下并可能参考一些(或多或少)官方文档?

creation 作为对 epmd 中节点注册的响应的一部分发送,请参阅该协议的 details

如果您有自定义 erl_epmd 模块,您还可以提供自己创建 creation 值的方法。

原来的creation是该名字的节点第一次注册的本地时间,以后每次名字是re-registered.

就碰撞一次