short name:
longname:
说明:
Name :: atom() || string()
ShortHost :: atom() || string(), 不可含有"."。比如"myhost"
FullHost :: [ShortHost()] || Ip, 比如"test.mydomain.com"和"8.34.135.3"
short name 和 long name主要为格式上的区别,long name中Host如果为域名,需要进行DNS解析。
我们也可以在hosts中添加类似:
ip ShotHost
的Entry使shortname name节点支持其他主机(请参考后面介绍)
Note
注意,shot name的节点和long name的节点不能互相通信。
short name:
假设本机/etc/hosts配置为:8.27.86.135 da6600.fb.joyent.us
erl
-sname
cheng
% 启动了一个名叫:cheng@da6600
的Node
erl
-name
cheng
% 启动了一个名叫:cheng@da6600.fb.joyent.us
的Node
如果我们的本机hosts配置中,没有指定域名,那么需要我们指定Host:
erl
-sname
cheng@da6600
% 启动了一个名叫:cheng@da6600的Node
long name:
erl
-name
cheng@da6600
erl
-name
cheng@da6600.fb.joyent.us
erl
-name
cheng@8.27.86.135
请注意,此3个longname Node是同一个Node
很多资料中,当进行分布式程序开发时,需要经历下面的步骤
- 本机单个节点进行测试,
- 本机多个节点进行测试,
- 多台主机进行接近真实环境的测试
其中第2步,常常是使用 erl
-sname
Name
类似的方法,产生Node,
因此我们印象中,好像sname只能是在本机的情况下使用?
通常情况下,shortname是限于本机的多个节点,longname可以跨越多台主机(通过IP,DNS解析)。
当然我们也可以像使用long name Node一样,使用short name Node。不同的是long name可以通过DNS进行解析,
而short name必须手动的在hosts中添加对应的映射。这样做的目的就是将本地的请求转发到目标的主机。
好了让我们使用short name来试验一下
server1(ip:8.27.86.135)
启动node:
erl -sname foo@server1
server2(server2也可以在内网当中,此时链接只能由server2发起)
/etc/hosts中添加:
8.27.86.135 server1
随后启动node:
erl -sname bar
> net_kernel:connect_node('foo@server1').
true
> nodes().
> [foo@server1]
这样,两个节点就已经链接了。
同理,我们也可以在server1中添加一个条目,为server2其一个ShortName,随后连接它。
到此,对于short name, long name的使用应该比较清晰了。
相关推荐
所有节点都与中央节点连通,但其他节点互不连通,怎么让其需要通讯时连通
1.完成makefile,直接运行/...2.完成启动多节点的脚本,运行/script目录中的run.cmd可以启动3个节点, 节点的配置在/config目录config.txt中 3.完成跨节点函数的调用,记录日志都会在gm节点中执行 4.完成日志记录系统
骡子郎运输 可以向 Erlang 节点发送消息和从 Erlang 节点接收消息的传输。先决条件必须在要使用此传输的主机上安装 Erlang R13B01 或更高版本。在使用 Erlang 传输之前必须在启动 Erlang 连接器之前运行。 如果你有...
它是原始改进版本,可与新的和现代的堆栈配合使用。 埃尔朗菲 讲出Erlang网络协议并模拟网络上的Erlang节点。 完全能够与Erlang进行双向通信。 在合理范围内,Erlang类型已映射到Haskell类型。 发给Erlang的消息只是...
Ergo框架 在Golang中实现Erlang / OTP。 速度是原始Erlang / OTP的x5倍。...Erlang节点(运行单节点/) (以摆脱erlang的依赖) 产生类似Erlang的进程 使用简单原子注册/注销过程 GenServer行为支持(具有原子状态)
Pyrlang-Python中的Erlang节点这是Python 3.5中的嵌入式Erlang节点实现,实现了网络Erlang节点协议。 它旨在允许现有的Python项目与BEAM语言(Erlang,Elixir,Alpaca,Luaerl,LFE,Clojerl等)之间进行互操作。 仅...
● 分布式 - 一个分布式Erlang系统是多个Erlang节点组成的网络(通常每个处理器被作为一个节点) ● 健壮性 - Erlang具有多种基本的错误检测能力,它们能够用于构建容错系统。 ● 软实时性- Erlang支持可编程的“软...
rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang,rabbitmq和erlang
Erlang的高级特性和应用Erlang的高级特性和应用
ivy-erlang-complete:ivy-erlang-complete是erlang的上下文相关完成,无需连接到erlang节点
ansible-nodetool:Ansible模块,用于通过Erlang RPC与Erlang节点进行交互
Windows下Erlang与C构建的节点通讯完整例子,包含cnode工程项目,erlang引用例子。 配套文章:http://blog.csdn.net/mycwq/article/details/40836273
rabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列(MQ)服务器,Rabbit MQ 是建立在Erlang OTP平台上。
ainterface:在Akka的ActorSystem上运行Erlang节点
孟岩谈Erlang:并行计算和云计算,详细介绍了新一代编程语言Erlang在并行计算和云计算方面的特性
ErlangB和ErlangC计算工具(exe可执行文件+excel两个) ErlangB和ErlangC计算工具(exe可执行文件+excel两个)
erlang入门电子书 erlang编程 Introducing Erlang,作者Simon.St.Laurent
主要介绍了Erlang分布式节点中的注册进程使用实例,本文直接给出实例代码,需要的朋友可以参考下
erlang的timer和实现机制 Erlang程序设计
然后,对具有给定Mod,Fun和Args的目标节点执行rpc调用。 收集结果,并从目标中删除已加载的光束代码。 配置 在apps / gb_map_reduce / src / gb_map_reduce.app.src中编辑环境 {env,[ {targets, [#{node => '...