Erlang 集群互连测试

Erlang节点相同cookie全互联成为一个集群(cluster).
如果2个集群不同cookie, 然后其中有节点连接到对方集群的节点,
这2个集群会合并成一个集群吗?

连接到另一个集群时,需要先设置cookie,不然会被拒绝。
erlang:set_cookie(Node2, DiffCookie)

集群aaaa有节点a1, a2, cookie为 cookie_aaaa.
集群bbbb有节点b1, b2, cookie为 cookie_bbbb.

>erl -sname a1 -setcookie cookie_aaaa
...
>erl -sname a2 -setcookie cookie_aaaa
Eshell V6.3  (abort with ^G)
(a2@jinqing)3> net_adm:ping(a1@jinqing).
pong
(a2@jinqing)4> nodes().
[a1@jinqing]

>erl -sname b1 -setcookie cookie_bbbb
...
>erl -sname b2 -setcookie cookie_bbbb
(b2@jinqing)2> net_adm:ping(b1@jinqing).
pong
(b2@jinqing)3> nodes().
[b1@jinqing]

bbbb节点无法直接连aaaa节点
(b2@jinqing)4> net_adm:ping(a1@jinqing).
pang

b2节点更改cookie后,仍保持与b1的连接。
(b2@jinqing)6> erlang:get_cookie().
cookie_bbbb
(b2@jinqing)7> erlang:set_cookie(node(), abcd).
true
(b2@jinqing)8> erlang:get_cookie().
abcd
(b2@jinqing)9> nodes().
[b1@jinqing]
(b2@jinqing)10>

b2设置cookie并连接a2后,b2进入了aaaa集群, 同时又在bbbb集群。
(b2@jinqing)10> erlang:set_cookie(node(), cookie_aaaa).
true
(b2@jinqing)11> erlang:get_cookie().
cookie_aaaa
(b2@jinqing)12> nodes().
[b1@jinqing]
(b2@jinqing)13> net_adm:ping(a2@jinqing).
pong
(b2@jinqing)14> nodes().
[b1@jinqing,a2@jinqing,a1@jinqing]
(b2@jinqing)15>

实际上是aaaa集群现有3个节点:a1, a2, b2.
bbbb集群仍然是2个节点:b1, b2.

(a1@jinqing)2> nodes().
[a2@jinqing,b2@jinqing]

(a2@jinqing)5> nodes().
[a1@jinqing,b2@jinqing]

(b1@jinqing)3> nodes().
[b2@jinqing]

此时 a2 ping b2 是通的,但是不会加入 bbbb 集群。
(a2@jinqing)6> net_adm:ping(b2@jinqing).
pong
(a2@jinqing)7> nodes().
[a1@jinqing,b2@jinqing]
(a2@jinqing)8>

结果是2个集群可以有交集。

Erlang 集群互连测试的更多相关文章

  1. erlang集群IP及port管理

    erlang集群是依靠epmd维护的,epmd是erlang集群节点间port映射的守护进程.负责维护集群内的节点连接.提供节点名称到IP地址及port的解析服务. epmd 自己定义port号 ep ...

  2. Windows和Linux的Jmeter分布式集群压力测试

    Windows的Jmeter分布式集群压力测试 原文:https://blog.csdn.net/cyjs1988/article/details/80267475 在使用Jmeter进行性能测试时, ...

  3. <正则吃饺子> :关于redis集群的测试demo

    redis集群的测试demo,来自网络,具体不详. 1.下载地址,如下:http://download.csdn.net/detail/u012543819/9729291 2.项目是java项目,结 ...

  4. Apache Ignite之集群应用测试

    集群发现机制 在Ignite中的集群号称是无中心的,而且支持命令行启动和嵌入应用启动,所以按理说很简单.而且集群有自动发现机制感觉对于懒人开发来说太好了,抱着试一试的心态测试一下吧. 在Apache ...

  5. Ubuntu14.04 weblogic11g集群环境测试

    在当前域下面新建两个服务器,服务器信息设置: server1:127.0.0.1:7010 server2:127.0.0.1:7020 第一步:新建服务器 (1)进入“服务器”,点击新建: (2)填 ...

  6. ActiveMQ集群简单测试+eclipse Zookeeper 插件 + 负载均衡

    ActiveMQ集群搭建好之后,接下来就该测试一下了. 一.先安装Zookeeper 的eclipse插件吧. 1. 打开 eclipse, Help -> Install New Softwa ...

  7. 数据库机器迁移对AlwaysON 集群影响测试

    1主3从(共享文件见证)     模拟事故 AlwaysON集群 结论 主域控服务器重启 共享文件夹见证失败,SQL集群无影响 无影响 修改共享文件夹见证路径 第一次测试修改后:整个集群突然重启,查询 ...

  8. zookeeper:springboot+dubbo配置zk集群并测试

    1.springboot配置zk集群 1.1:非主从配置方法 dubbo: registry: protocol: zookeeper address: ,, check: false 1.2:主从配 ...

  9. Apache和Nginx负载均衡集群及测试分析

    一.应用场景介绍 本文主要是介绍Apache和Tomcat在Linux环境下的安装讲解以及AJP协议动静分离负载均衡的实现,以及与Nginx负载性能比较.联网安装较为简单,故此处只说脱机的Linux环 ...

随机推荐

  1. [SHOI2008]cactus仙人掌图

    [题目描述] 如果某个无向连通图的任意一条边至多只出现在一条简单回路(simple cycle)里,我们就称这张图为仙人图(cactus).所谓简单回路就是指在图上不重复经过任何一个顶点的回路. 举例 ...

  2. [HNOI2012]永无乡

    题目描述 永无乡包含 n 座岛,编号从 1 到 n,每座岛都有自己的独一无二的重要度,按照重要度可 以将这 n 座岛排名,名次用 1 到 n 来表示.某些岛之间由巨大的桥连接,通过桥可以从一个岛 到达 ...

  3. ●POJ 1329 Circle Through Three Points

    题链: http://poj.org/problem?id=1329 题解: 计算几何,求过不共线的三点的圆 就是用向量暴力算出来的东西... (设出外心M的坐标,由于$|\vec{MA}|=|\ve ...

  4. Python Django缓存,信号,序列化,文件上传,Ajax登录和csrf_token验证

    本节内容 models操作 Django的缓存 请求方式 序列化 Form 配合Ajax实现登录认证 上传文件 Ajax  csrf_token验证方式 1 models操作 单表查询: curd(增 ...

  5. Python的IO编程

    原文传送门:请点击 原文传送门:请点击

  6. 以太坊区块链Java(EthereumJ)学习笔记:概述

    本系列文章介绍以太坊区块链基于Java语言的解决方案.通过介绍EthereumJ定义的主要模块和Class,希望为大家学习和使用EthereumJ提供一些帮助. 整体架构 以太坊的Java解决方案主要 ...

  7. js 数字前面自动补零

    num传入的数字,n需要的字符长度        function PrefixInteger(num, n) {            return (Array(n).join(0) + num) ...

  8. HTTP 协议详解(超级经典)-转

    什么是HTTP协议 协议是指计算机通信网络中两台计算机之间进行通信所必须共同遵守的规定或规则,超文本传输协议(HTTP)是一种通信协议,它允许将超文本标记语言(HTML)文档从Web服务器传送到客户端 ...

  9. IOS WebViewJavascriptBridge 使用以及原理分析

    本文转自:https://www.jianshu.com/p/b8d4285395c6 概述 从两个方面来讲: js不能直接调用oc的方法 oc可以通过如下函数调用js代码 - (void)evalu ...

  10. MLDS笔记:浅层结构 vs 深层结构

    深度学习出现之前,机器学习方面的开发者通常需要仔细地设计特征.设计算法,且他们在理论上常能够得知这样设计的实际表现如何: 深度学习出现后,开发者常先尝试实验,有时候实验结果常与直觉相矛盾,实验后再找出 ...