部署分布式 n2n 超级节点
为了加强备份和故障转移方面的弹性,也为了负载平衡,多个超级节点可以很容易地相互连接并形成一个特殊的社区,称为联盟。—— n2n 官方文档
部署 n2n 超级节点联盟也比较简单。主要是以下几点:
- 在各个服务端配置文件(或启动参数)中添加
-F xxxxxxxxxx
指定一个联盟社区名称。这个值应该保密。 - 在各个服务端配置文件(或启动参数)中添加
-l yoursupernode.com:7777
以指定其他的超级节点。如有多个超级节点则可以多次添加-l
参数,不需要添加自身节点。 - 重启 supernode 服务。
完成以上步骤即可实现多超级节点互联。
我自己在部署的时候发现,即使不在每个节点添加 -l
参数指定其他的节点,超级节点之间仍然会同步。
例如三个节点如下配置:
a.supernode.com:7777
b.supernode.com:7777 -l a.supernode.com:7777
c.supernode.com:7777 -l a.supernode.com:7777
当边缘节点连接到超级节点A时,其仍然会将B与C节点的地址发给边缘节点 (edge),但是这个发送操作会在边缘节点连接到超级节点的一段时间后进行。
而如果直接在超级节点A使用 -l
参数指定B与C节点的地址,则会在边缘节点连接到到超级节点A后立刻将其发送。