周末热风,这个想法从未在我的心脏像样的雨一阵悲哀。

每到周末,我会抽出一周整夜的事情的总结,无论是工作。人生,或者在上班或在锯的方式方法,并听取了抑制书评,因为无雨,周六晚上,我决定好好睡一觉,再折腾周五晚。
       在给同事解释交换机和HUB的原理的时候,想到了某些时候,HUB才是更加高效的选择,你看。iptables的朴实的CLUSTER target和F5的高大上负载均衡设备之间差别不就是一台HUB和一台学习型以太网交换机之间的差别吗?我们先来看看CLUSTER target。

非常easy,例如以下图所看到的:

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQvZG9nMjUw/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast" alt="" />

将是否处理包的决策权交给了每一台server本身,而不是集中的负载均衡设备。这是典型的BMA方式,相应到以太网上就是总线方式或者HUB方式,以太数据帧会到达每一台主机,至于是否处理该数据帧,取决于目标MAC是不是本地的,或者它是不是特殊的比方多播帧。广播帧之类的。总线,HUB时代的以太网实际上和CLUSTER target的思想是一致的。

中心设备简单。单包转发高效,决策平摊到每一台终端设备上,效率提升了不少,可是缺点是什么呢?缺点就是有效带宽的利用率减少了。由于除了一个包会被处理之外,其他的都被终端丢弃了,对于早期的总线型以太网而言,CSMA/CD的开销也不可小觑,它的开销大大超过了交换机出现后的查表开销,正是由于这个开销而不是别的。才导致了HUB/交换机的出现,学习型交换机出现后,全双工模型仅仅带来了查表的开销而已。

然而,CLUSTER target却没有这个问题。或者说带宽利用率的问题并不明显。

优点却是显而易见的。CLUSTER target省去的是中心负载均衡设备内的复杂运算以及其单点故障,带来的是部署上的简单,维护上的简单,以及高可用性。
       确实。有时候,广播并非什么坏事。精确的定点传输并不一定是好事,查表也是有开销的,此时须要评估查表的效率,在某些情况下,比方硬件加速卡查表时,它带来的高效带宽利用的优势就抵消了查表开销。软实现的查表,在简单情况下,都是无益的,正由于如此。VMWare的虚拟交换机中并没有实现MAC/Port映射,即MAC地址学习。一直以来。仅仅要人们一说负载均衡。总要联系到一台设备,这个设备就是做负载均衡的。就像人们一直以来都觉得一台设备能TMD加速数据流一样(仅仅要是设备。都是减速的,加速是一场骗局,实际上用的是cache!),对于负载均衡而言,本来有N个处理节点,结果都要TMD汇集到一台所谓的负载均衡设备上,由它来决定数据的流向,这样的集中化的控制很多其他的是为了将处理节点的分发集中在一个可控的范围内。逻辑上讲。是对server本身配置的不放心不信任(怎么才干让它们合作起来呢?难道不须要跑来跑去去配置它们吗?),物理上讲。人为引入了单点问题-瓶颈以及故障,经济上,能够卖出去一台设备,为了解决单点问题。再卖出去几台设备...再卖出去几台。
       以太网广播开销的问题让分布式帧接收改变成了中心式的分发控制,然而iptables的CLUSTER target又让人们看到了分布式分发的优势,在说带宽利用率低的时候。请首先计算一下高的带宽利用率是拿什么换来的。对于中毒太深的资深人员而言,他这可能是不屑一顾我的观点。但是,间,恳求不喜勿喷。

版权声明:本文博主原创文章。博客,未经同意不得转载。

iptables的CLUSTER target以太网交换机和想法的更多相关文章

  1. arm,iptables: No chain/target/match by that name.

    最近由于项目需要,需要打开防火墙功能. 公司有 arm linux 3.0x86 linux 3.2x86 linux 2.4 的三个嵌入式.都需要打开防火墙功能. 执行“whereis iptabl ...

  2. hyperv 创建虚拟以太网交换机失败

    问题: hyperv 创建虚拟以太网交换机失败 解决办法: 取消无线共享,重新创建虚拟以太网交换机即可

  3. centos6.8 docker0: iptables: No chain/target/match by that name

    现象:之前docker gitlab运行的一直好好的,突然有一天访问不了,但容器却还运行着.于是我把gitlab容器重启,发现启动不了了,报错:docker0: iptables: No chain/ ...

  4. [转]启动container的时候出现iptables: No chain/target/match by that name

    本文转自:https://blog.csdn.net/u013948858/article/details/83115388 问题: Error response from daemon: drive ...

  5. 启动docker容器 防火墙问题报错 ! -i docker0' failed: iptables: No chain/target/match by that name.

    COMMAND_FAILED: '/sbin/iptables -t nat -A DOCKER -p tcp -d 0/0 --dport 8111 -j DNAT --to-destination ...

  6. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8001 -j DNAT --to-destination 172.17.0.5:8080 ! -i docker0: iptables: No chain/target/match by that name.

    在docker容器上部署项目后,启动docker容器,出现 iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dpor ...

  7. 【Docker】iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 8480 -j DNAT --to-destination 172.17.0.2:80 ! -i docker0: iptables: No chain/target/match by that name

    启动容器的时候,出现如下错误: Error response / --dport -j DNAT --to-destination ! -i docker0: iptables: No chain/t ...

  8. docker运行报错docker0: iptables: No chain/target/match by that name.

    转自:https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/tar ...

  9. iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3306 -j DNAT --to-destination 172.17.0.2:3306 ! -i docker0: iptables: No chain/target/match by that name

    今天使用docker运行mysql时报错, 执行命令: docker run --restart=always --name mysql5.7 -p 3306:3306 -v /data/mysql/ ...

随机推荐

  1. Android在API推荐的方式来实现SQLite数据库的增长、删除、变化、检查操作

    package com.examp.use_SQLite.dao; import java.util.ArrayList; import java.util.List; import android. ...

  2. Silverlight的Socket通信

    aaarticlea/png;base64,iVBORw0KGgoAAAANSUhEUgAAAPwAAAGwCAIAAAACJJ+TAAAgAElEQVR4nO2deXgT5534Rdhskme7+9

  3. 算法——字符串匹配Rabin-Karp算法

    前言 Rabin-Karp字符串匹配算法和前面介绍的<朴素字符串匹配算法>类似,也是相应每一个字符进行比較.不同的是Rabin-Karp採用了把字符进行预处理,也就是对每一个字符进行相应进 ...

  4. 文章3说话 微信商城云server创建后台

    一个.   应用server资源              想要进行微信开发.少不了后台server端程序的开发,那么我们首先就要申请server资源.眼下有非常多云server可选,比方新浪的sae ...

  5. 机械革命X5(MECHREVO MR-X5)开包检验

    不废话.直接的问题,左右X5没有更具体的信息.为了通过有机会了解后续的选择,具体的数据被释放约: 首先看包装: 1.快递包裹,基于卖方这可以是不同的,包装各不相同 watermark/2/text/a ...

  6. iis虚拟目录引发的路径问题

    在iis上把web程序配置成站点是ok的,但配置成虚拟目录,就会发现 图片路径不能,样式不能加载,链接出错. 解决方案: 1,上传图片  ~/upload 2,cs程序,链接跳转,请用~/index. ...

  7. how to fix the cwm/miui recovery status 2 error

    Frequent issues: --------------------- If you report an issue without a log and/or without details, ...

  8. IMP-00013 目前只有 DBA 其他导入能力 DBA 导出的文件

    --实例演示 ---system用户导出 C:\Users\ZML>exp system/zml file='D:\zml.dmp' log = 'D:\zml.log' tables = (z ...

  9. setsockopt角色

    功能描写叙述: 获取或者设置与某个套接字关联的选 项. 选项可能存在于多层协议中.它们总会出如今最上面的套接字层. 当操作套接字选项时.选项位于的层和选项的名称必须给出.为了操作套接字层的选项,应该 ...

  10. SQL server 2005 PIVOT运算符的使用

    原文:SQL server 2005 PIVOT运算符的使用 PIVOT,UNPIVOT运算符是SQL server 2005支持的新功能之一,主要用来实现行到列的转换.本文主要介绍PIVOT运算符的 ...