iptables的CLUSTER target以太网交换机和想法
每到周末,我会抽出一周整夜的事情的总结,无论是工作。人生,或者在上班或在锯的方式方法,并听取了抑制书评,因为无雨,周六晚上,我决定好好睡一觉,再折腾周五晚。
在给同事解释交换机和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以太网交换机和想法的更多相关文章
- arm,iptables: No chain/target/match by that name.
最近由于项目需要,需要打开防火墙功能. 公司有 arm linux 3.0x86 linux 3.2x86 linux 2.4 的三个嵌入式.都需要打开防火墙功能. 执行“whereis iptabl ...
- hyperv 创建虚拟以太网交换机失败
问题: hyperv 创建虚拟以太网交换机失败 解决办法: 取消无线共享,重新创建虚拟以太网交换机即可
- centos6.8 docker0: iptables: No chain/target/match by that name
现象:之前docker gitlab运行的一直好好的,突然有一天访问不了,但容器却还运行着.于是我把gitlab容器重启,发现启动不了了,报错:docker0: iptables: No chain/ ...
- [转]启动container的时候出现iptables: No chain/target/match by that name
本文转自:https://blog.csdn.net/u013948858/article/details/83115388 问题: Error response from daemon: drive ...
- 启动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 ...
- 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 ...
- 【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 ...
- docker运行报错docker0: iptables: No chain/target/match by that name.
转自:https://blog.csdn.net/wohaqiyi/article/details/84450562 docker运行报错docker0: iptables: No chain/tar ...
- 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/ ...
随机推荐
- 一个简单的java僵局演示示例
在实际编程,为了避免死锁情况,但是,让你写一个有用的程序死锁似几乎不要太简单(种面试题),下面是一个简单的死锁样例. 线程的同步化可能会造成死锁,死锁发生在两个线程相互持有对方正在等待的东西(实际是两 ...
- Word001
C# Word 类库 2009-08-06 22:10 13470人阅读 评论(10) 收藏 举报 c#objectstring文档microsoftexcel using System;using ...
- centos7 设备 mariadb-10
下载地址: http://mirrors.ustc.edu.cn/mariadb/mariadb-10.0.19/source/mariadb-10.0.19.tar.gz 由于用cmake所以线安装 ...
- ZOJ 3734 LIKE vs CANDLE
题目意思:(13年长沙站的一道水DP,本人也去了,当时太水笔) 说俩个人竞争选票,每个人可以随机选择支持谁.每个人带有权重不同. 现在已经结束了投票阶段,你一个骇客 支持LIKE 你写了一个软件可以 ...
- SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法
原文:SqlBulkCopy批量插入数据时,不执行触发器和约束的解决方法 在new SqlBulkCopy对象的时候,设置一下SqlBulkCopyOptions选项即可,按位或运算 SqlBulkC ...
- js阻止冒泡
js阻止冒泡 (ev || event).cancelBubble = true; 标签切换 <script type="text/javascript"> windo ...
- C# 5.0 Async函数的提示和技巧
一.创建Async函数 Async是C# 5.0中新增的关键字,通过语法糖的形式简化异步编程,它有如下三种方式: async Task<T> MyReturningMethod { ret ...
- CSDN-markdown编者LaTex数学公式
LaTex什么? LaTeX(LATEX.音译"拉太和")它是基于ΤΕΧ排版系统,莱斯利由美国计算机科学家·兰伯特(Leslie Lamport)于20纪80年代初期开发,利用这样 ...
- Swing之JTable的详细介绍(转)
表格(Table)的使用与介绍8-1:使用JTable组件:类层次结构图:java.lang.Object--java.awt.Component--java.awt.Container--javax ...
- linux 脚本測试网络速度
example: ./netspeed eth0 1 #!/bin/bash 2 3 INTERVAL="1" # update interval in seconds ...