rank和ip 地址的关系
2018-02-26 19:57
190 查看
在monitor 选举leader和peon的时候,rank这个值很关键,之前讲过这个值和ip地址有关,这个值和ip地址的关系如下 在monitor.cc 中的bootstrap这个函数中可以看到 void Monitor::bootstrap() { // note my rank #可以看到是通过get_rank 这个函数得到rank的,这个函数的形参就是ip地址 int newrank = monmap->get_rank(messenger->get_myaddr()); if (newrank < 0 && rank >= 0) { // was i ever part of the quorum? if (has_ever_joined) { dout(0) << " removed from monmap, suicide." << dendl; exit(0); } } // singleton monitor? #从这可以看出,rank也是决定 if (monmap->size() == 1 && rank == 0) { win_standalone_election(); return; } } 我们这里重点看看get_rank函数 int get_rank(const string& n) { for (unsigned i = 0; i < ranks.size(); i++) if (ranks[i] == n) return i; return -1; } 从这里可以知道rank 和形参表示的ip地址是数组中下标和值的关系
相关文章推荐
- IP – Ethernet Multicast 地址间的关系 (案例图解,动画过程、配套仿真)
- Linux socket 结构体关系 及 获得本地IP和广播地址
- 理解ARP协议以及IP与MAC地址的关系
- IP – Ethernet Multicast 地址间的关系 (案例图解,动画过程、配套仿真)
- TCP/IP协议原理与应用笔记11:TCP/IP中地址与层次关系
- 【计算机网络】IP分类 和 网络IP 的关系
- ASP.NET实现根据IP获取省市地址的方法
- (转载)Linux编程获取本机IP地址的三种方法
- VC获取本机IP地址
- 获取本机外网IP地址
- IP地址专题八:子网掩码的计算与划分详解
- 根据ip获取地址
- 获取指定IP的终端的MAC地址
- TCP/IP中的地址
- 主机名、域名、IP、MAC地址的获取
- 获取用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REMOTE_ADDR)
- 利用dns类和WMI规范获取IP及MAC地址
- 检测 ip 地址的正则表达式 C#语言的
- IP 地址大解密
- TCP/IP、Http、Socket的关系理解