erlang节点互联
2017-10-30 11:18
429 查看
前提:
erlang节点的连通是传递性的,即A节点连通B节点,若B节点之前已经连通C节点,那A也会连通C;节点间的通讯其实就是tcp连接,所以能少则少,erlang有提供 -connect_all false 启动参数,这样A连通B时就不会跟着连通C问题:
假设有三组节点,唯一中央节点C;云节点组Y1,Y2…YN;普通节点组N1,N2…NN;云节点组跟普通节点组都跟C连通,怎么让云节点组跟普通节点组在需要通讯时连通?
方案:
所有节点在跟C连通后,由C收集所有节点的cookie,并把cookie告知云节点组,云节点调用erlang:set_cookie(Node, Cookie),这时云节点跟普通节点并没有连通,但需用通讯时就会自动连通;说白了就是N1向Y1发送某个命令=用tcp发送一条数据,在验证时N1发现这个Y1的cookie跟自己存的Y1的cookie一致,所以就允许通讯,所以就连通了,否则则拒绝
http://download.csdn.net/download/ownhome/10044405
这里搞了测试的代码,十分简陋,也无注释
后续
发现两节点间互联并不一定得cookie相同,比如节点A,B,A设置B的cookie为test,B也设置A的cookie为test,这时也是可以连通的最后欢迎大神指点
相关文章推荐
- [Erlang]节点互联及错误详解
- erl0007 - erlang 远程节点连接的两种方式
- 关于erlang节点显示“*** Terminating erlang”的问题
- Erlang节点间ping失败原因分析
- erlang节点编程
- 中国互联网络服务器的八大节点和三大核心节点
- erlang 启动多节点
- Erlang节点的连接
- [erlang学习] 用observer远程监控节点 (随笔简记)
- erlang节点间通信使用erlang send 和使用gen_tcp socket性能的对比(
- 解决erlang节点启动失败报["inet_tcp",econnrefused]的问题
- Linux下多节点SSH无密码互联实现
- 一次erlang 节点CPU严重波动排查
- [Erlang 0098] net_kernel与节点互连,断开,监控
- erlang gen_tcp 聊天室(holl节点)
- erlang节点通讯例子及问题分析
- 1个物理机同时搭建2个erlang虚拟节点,不能启用 +A600选项
- erlang分布式之节点自动连接相关问题
- erlang节点互相ping,一个能ping通,另外一个不行。
- Erlang节点重启导致的incarnation问题(转)