作家
登录

现代网络负载均衡和代理技术,终于弄懂负载均衡那点事

作者: 来源: 2018-01-17 14:09:48 阅读 我要评论

到如今,我们要推敲四层负载均衡的容错设计了。不管是 DSR 照样透传负载均衡都须要必定命量的链接跟踪和状况数据存储在负载均衡器中。负载均衡器宕机了会如何?——所有经由章一ê载均衡器的连接都邑断掉落。可能对应用产生明显影响。

汗青上,四层负载均衡器是一种大年夜典范供给商(Cisco、Juniper、F5 等)采购的硬件。这些设备异常昂贵,可以或许处理大年夜量通信。为了防止单点掉败导致的所有连接中断,激发应用故障,负载均衡器平日会应用高可用配对的方法进行安排,如图 11 所示。典范的高可用负载均衡器设备会知足如下设计:

  • 一对高可用边沿路由器供给一系列的虚拟 IP(VIP)。这些边沿路由器应用界线网关协定(BGP)来宣布虚拟 IP。重要边沿路由器的 BGP 优先级高于备用边沿路由器,所以正常情况下他会处理所有流量(BGP 是一个超等复杂的协定;为了行文便利,可以懂得 BGP 是一种机制,这种机制让收集设备可以传播鼓吹自身可以或许处理来自其他收集设备的流量,并且每个连接都邑有一个权重,大年夜而影响连接的通信)。
  • 类似的,重要四层负载均衡向 BGP 权重较高的边沿路由器宣布可用,所以在平日情况下,他会处理所有流量。
  • 两个边沿路由器和两个负载均衡器是交叉连接的,这意味着如不雅一个边沿路由器或者一个负载均衡器宕机,或者因为某些原因 BGP 宣布掉效,备用设备就会接入,承载所有流量。

膳绫擎的设置是今朝很多互联网上的高流量应用还在持续应用的方法,然则这种筹划有一些副感化:

  • VIP 必须经由过程高可用负载均衡器对流量进行精确的分派。如不雅单一 VIP 的容量跨越了 HA 对,则 VIP 须要瓜分为多个 VIP。
  • 体系资本应用率很低。平日会有一半的容量在闲置。以前的负载均衡器异常昂贵,所以这一闲置成本也是很高的。
  • 现代分布式体系设计请求比主备模式更好的容错设计。例如一个体系须要在多个同时出现故障的情况下保持运行。高可用负载均衡对如不雅遭受同时故障,就会导致完全瘫痪。
  • 供给商供给的硬件设备价格昂贵,会导致对特定厂商的依附。应用支撑程度扩大的软件筹划对贸易硬件举措措施进行调换,是今朝广泛存在的急切须要。

前文介绍了经由过程高可用配对的方法来进行负载均衡器的容错设置,以及随之而来的问题。千禧岁首?年代,一些大年夜的互联网基本举措措施供给张开端设计和安排新的图 12 模式的并行四层负载均衡体系。这类体系的目标是:

  • 解决应用查对 HA 模式设计的负载均衡筹划带来的所有问题。
  • 大年夜厂商专属的专利硬件模式的负载均衡器中迁徙出来,应用标准办事器和网卡合营贸易软件筹划进行替代。

四层负载均衡器的设计是 fault tolerance and scaling via clustering and distributed consistent hashing 的最佳引用,具体工作模式是:

  • N 个边沿路由器在同一 BGP 权重上,声明所有的 任播 VIP。应用 ECMP(等价多路径路由) 来包管所有单一 Flow 可以或许达到同一个边沿路由器。一个 Flow 平日是一个由源 IP/端口和目标 IP/端口 构成的元组。(简单说,ECMP 是一个在应用一致性哈希连接的自力加权收集上分发数据包的方法)。边沿路由器并不在意哪些数据包去了哪里。一般会偏向于把来自于一个 Flow 所稀有据包发送给同一套连接,以此避免乱序包导致的机能损掉。
  • N 个四层负载均衡器向边沿路由器在同一个 BGP 权重上声明所有的 VIP。再次借助 ECMP,边沿路由器会选择为同一个 Flow 选择同一个负载均衡器。
  • 每个四层负载均衡器会进行部分的连接跟踪,为这一 Flow 应用一致性哈希选择一个后端。大年夜负载均衡器到后端的数据包会应用 GRE 进行封装。
  • 接下来应用 DSR 将响应包直接大年夜后端经由过程边沿路由器发送会客户端。
  • 四层负载均衡器应用的一致性哈希算法是一个活泼的研究范畴,个中涉及合理分派、减小延迟、后端变革成本以及最小化内存开支等各方面要素。这方面的完全评论辩论也超出了本文范围。

接下来看看这种设计若何克服 HA 配对方法的缺点:

  • 新的边沿路由器和负载均衡器可以按需参加。一致性哈希会在各个层次上应用,在参加新机械的时刻,尽可能降低受影响的 Flow 数量。
  • 在保持对突发消费的支撑才能以及容错才能的同时,可以进步资本的应用率。
  • 边沿路由器和负载均衡都可以应用应用通俗硬件,仅是传统硬件负载均衡成本的几分之一(下文会进一步解释)。

行文至此,有读者可能会问:“为什么不让边沿路由器直接经由过程 ECMP 和后端进行通信?为什愦我们还须要负载均衡器?”。谜底是 DoS 防备以及后端运维难度。如不雅没有负载均衡器支撑,每个后端都须要参加 BGP,并且难于进行滚动更新。

所有的现代四层负载均衡体系都在向着这一筹划(或其变体)迁徙。两个最为"大众,"所知的例子就是 Google 的 Maglev 以及 Amazon 的 Network Load Balancer (NLB)。今朝还没有任何开源负载均衡器实现了这一设计,然而据我所知,有公司要在 2018 年宣布一个如许的产品。我很等待他的出现,这一产品将会弥补开源收集组件的重要空白。

Current state of the art in L7 load balancing The proxy wars in tech currently is quite literally the proxy wars. Or the "war of the proxies". Nginx plus, HAProxy, linkerd, Envoy all quite literally killing it. And proxy-as-a-service/routing-as-a-service SaaS vendors raising the bar as well. Very interesting times!

是的,切实其实是如许。近几年我们看到七层负载均衡/代劳技巧的开辟工作开端中兴。跟着分布式微办事体系的赓续推动,这方面也会赓续进步。大年夜基本上看,今朝对于靠不住的收集的依附袈浣发严重,带来更高的运维难度。大年夜长远看,主动伸缩、容器编排等技巧的大年夜量应用,意味着静态 IP、静态文件的时代已经以前了。体系不仅更多的应用收集,并且加倍动态,须要新的负载均衡功能。在本节中我们简单归纳一下如今七层负载均衡器的功能。


  推荐阅读

  思华科技曹敬涛:云计算时代下的存储策略分析

【51CTO.com原创稿件】当今,云计算几乎改变了全部 IT 家当的格局,各类类型的企业纷纷拥抱云计算,迎来了市场收成期。为了更深刻地解读国内云计算家当政策,展示我国云计算国度标准研制工作的结不雅,>>>详细阅读


本文标题:现代网络负载均衡和代理技术,终于弄懂负载均衡那点事

地址:http://www.17bianji.com/lsqh/40331.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)