关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn

Hello大家好,欢迎来到《AWS解决方案架构师认证 Professional(SAP)中文视频培训课程》,我们这节课的内容为网络负载均衡器。
网络负载均衡器NLB是继Classic Load Balancer和应用程序负载均衡器之后,AWS发布的第三款负载均衡器服务。

我们开始今天的课程内容。

我们先来学习下网络负载均衡器的一些重要知识点。

网络负载均衡器,简称其为NLB,在 OSI模型的第四层运行,OSI模型的第四层大家还记得是什么吗?是的,传输层。OSI模型的一些知识点大家可以自行搜索学习。

NLB工作在传输层,它只支持传输层的协议:TCP、UDP、以及TLS。

我们前面课程讲过的应用程序负载均衡器的一些功能特性,如基于请求路径路由功能,以及基于HTTP标头路由等等这些7层的功能,NLB是无法做到的,因为NLB工作在OSI模型的传输层,它无法支持应用层的这些功能。 要实现上述这些需求需要的是应用程序负载均衡器,它工作在OSI模型的第七层应用层,它才支持7 层特有的功能。

NLB的路由算法

我们接下来探讨的是NLB的路由算法,也就是说当NLB收到客户端请求时,根据什么算法决定将请求路由到的目标。假设目标组中注册了两个目标,NLB收到客户端请求后如何选择将客户端请求 路由到这两个目标的哪一个?这就是NLB的路由算法要做的事情,我们来看下:

对于 TCP 流量,NLB基于协议、源 IP 地址、源端口、目标 IP 地址、目标端口和 TCP 序列号,使用流哈希算法选择目标。
当来自客户端的 TCP 连接具有不同的源端口和序列号,这样可以路由到不同的目标。
对于每个单独的 TCP 连接在连接的有效期内路由到单个目标。
以上就是NLB将客户端请求路由到目标的算法和机制。

好,大家可能听到了这个流哈希算法有点头大,没关系,我们只要理解NLB是使用上面的机制路由目标就可以了。
而对于Classic Load Balancer,一般情况下是使用轮询路由算法路由目标,我演示下轮询路由算法是什么效果。

Classic Load Balancer轮询路由算法

切换到AWS管理控制台,这里有一个我之前创建的Classic Load Balancer,名为clb-test,我添加了2个目标实例server01和server02在这个负载均衡器,我现在复制下负载均衡器的DNS,然后通过浏览器访问: clb-test-749945059.ap-northeast-1.elb.amazonaws.com ,回车。

可以成功打开实例的nginx页面,当我刷新下浏览器后,请求路由到了另一台目标实例server02。当我不断刷新浏览器时,Classic Load Balancer使用轮询路由算法,将客户端请求在两个实例中进行轮询路由。每当我刷新一次浏览器,请求就会在两个实例之间轮询。刷新一下请求发送到了SERVER01,再次刷新请求就路由到了server02,这就是Classic Load Balancer的轮询路由目标算法。

网络负载均衡器路由算法

我们在回到网络负载均衡器,NLB不使用轮询路由算法路由目标,它使用的是流哈希算法选择路由目标。也就是说,对于 TCP 流量,NLB基于协议、源 IP 地址、源端口、目标 IP 地址、目标端口和 TCP 序列号,使用流哈希算法选择目标。

另外还要注意,每个单独的 TCP 连接在连接的有效期内路由到单个目标,这个是什么意思?我给大家快速演示下:

同样,我之前创建了一个网络负载均衡器,名为NLB-TEST,然后我又创建了一个network目标组,将SERVER01和SERVER02注册到了这个目标组,并配置将网络负载均衡器收到的请求转发到这个network目标组。

我们现在测试下:复制NLB的DNS名称至浏览器:NLB-test-4200a0afdb0e4225.elb.ap-northeast-1.amazonaws.com,然后回车访问NLB,可以看到无论我怎么刷新浏览器,NLB始终将请求路由至了同一个实例,浏览器始终访问的是SERVER02的NGINX页面,并没有像前面演示的Classic Load Balancer轮询目标。这是因为NLB它不使用轮询算法而使用流哈希算法选择目标。

我们的测试是单独的 TCP 连接,所以在连接的有效期内只会路由到单个目标,虽然我不断刷新浏览器,也只会路由到同一个已注册的目标—server02。

好,以上是关于网络负载均衡器的路由算法的演示,我们继续。

网络负载均衡器优势

我们前面讨论了网络负载均衡器工作在OSI模型的第四层,传输层,所以7层的一些功能和特性它都无法支持,那网络负载均衡器和应用程序负载均衡器同为AWS的新一代负载均衡器,网络负载均衡器有什么功能或优势呢?

首先,网络负载均衡器经过了优化,能够处理突发的和不稳定的流量模式,可以处理急剧波动的工作负载。提供高吞吐量,可以扩展到每秒处理数百万个请求。所以,如果您的工作负载需求是在4层处理突发的工作流或需要极致网络性能,那么,您就可以考虑使用网络负载均衡器。

另外,网络负载均衡器支持将静态 IP 地址用于负载均衡器。还可以针对为负载均衡器启用的每个子网分配一个弹性 IP 地址。这样的话使得NLB能够被纳入组织现有的防火墙安全策略中,并且能够避免DNS缓存带来的问题。

静态IP地址以及可使用弹性 IP 地址是网络负载均衡器的特性,另外两种负载均衡器都不具备这个特性。

网络负载均衡器与应用程序负载均衡器都是AWS的新一代负载均衡器,两种负载均衡器所包含的重要组件以及配置的方法非常的相似,比如都要创建目标组,注册目标;都需要在侦听器配置转发的目标组等等。

所以,如果您仔细听了我们前面应用程序负载均衡器的课程,那么您也应该会非常容易的理解和配置网络负载均衡器。
两个负载均衡器的主要区别是应用程序负载均衡器是工作在osi的第七层应用层,支持HTTP,HTTPS协议;
而网络负载均衡器我们前面介绍过是工作在OSI的第4层传输层,只支持4层的TCP及UDP等协议。

所以对于应用程序负载均衡器,我们可以在其侦听器中可以配置基于内容路由请求,比如我们前面讲过的基于HTTP头,以及基于URL的路径路由等等7层的特性;而对于网络负载均衡器这些7层的功能它是无法完成的,所以当我们选择NLB时,在监听器配置中根本就没有编辑规则,根据内容路由目标这些配置项。但是网络负载均衡器提供了能够处理突发的和不稳定的流量模式,可以处理急剧波动的工作负载,且支持将静态 IP 地址用于负载均衡器,这些是NLB的特性。

好,以上就是我们本节课的内容,我们介绍了网络负载均衡器的一些知识点,路由算法以及特性等等内容,希望能够给大家带来帮助,下节课我们将实操配置网络负载均衡器。

希望此系列教程能为您通过 AWS解决方案架构师认证 Professional 认证考试带来帮助,如您有任何疑问

关注公众号:AWS爱好者(iloveaws)
文 | 沉默恶魔(禁止转载,转载请先经过作者同意)
网站:www.iloveaws.cn

网络负载均衡器(NLB)相关推荐

  1. Google Maglev 牛逼的网络负载均衡器(转)

    https://segmentfault.com/a/1190000009565788 Maglev 是什么 Maglev 是谷歌搞的一个工作在三层(IP层)的网络负载均衡器, 它是一个运行在普通的 ...

  2. Google公布软件网络负载均衡器Maglev

    Google在NSDI '16会议上公开了它的软件网络负载均衡器Maglev.Maglev是一个运行在Linux服务器上的大型分布式软件系统,不同于传统的硬件网络负载均衡设备,它的部署不需要特定物理机 ...

  3. Maglev: 一个快速、可靠的基于软件的网络负载均衡器(翻译)

    Maglev是Google内部数据中心使用的网络负载均衡系统,与基于硬件的负载均衡器相比,Maglev具有高的可伸缩性和易用性,支持快速迭代,易于升级. 实际上,Maglev是运行在Google商业服 ...

  4. linux拒绝tcp链接,Linux 内核 TCP SACK 拒绝服务问题

    上次更新时间:太平洋夏令时 2019 年 6 月 18 日上午 11:45 CVE 标识符:CVE-2019-11477.CVE-2019-11478.CVE-2019-11479 这是此问题的更新信 ...

  5. 不同的负载均衡器介绍(ALB和NLB)

    弹性负载均衡器(Elastic Load Balancing, ELB)充当了最终用户的单一触点,将访问ELB的流量分配到处于多个可用区的多个EC2实例之间.可以根据需要在负载均衡器中添加或删除EC2 ...

  6. 使用TMG2010企业版组建大型***网络之3-配置NLB

    10.5 配置***陈列 在Forefront TMG陈列中配置***服务器,与在Forefront TMG标准版中配置***服务器的步骤相差无己,只是由于Forefront TMG陈列中有多个For ...

  7. ISA SERVER 2004之配置网络负载平衡(NLB)

    在这次实验中,将通过对ISAServer2004企业版进行配置,以使用NLB功能来达到对外访问的负载. 在这次实验中,使用了四台计算机,分别是Denver-Florence-Firenze–Istan ...

  8. EMQ 助力阿里云洛神云网络构建新一代“亿级并发、百万级吞吐”NLB 网络型负载均衡系统

    万物智联的数字化时代,我们正走在从"数据量变"到"连接质变"的道路上.在日益丰富的物联网应用场景中,实现海量设备与云端之间双向通信连接,分析并从中获得实时洞察成 ...

  9. 现代网络负载均衡和代理技术

    作者:Matt Klein 译者:杨泽 原题:Introduction to modern network load balancing and proxying 关于现代网络负载均衡和代理(prox ...

  10. 万字雄文讲透现代网络负载均衡和代理技术,终于弄懂负载均衡那点事

    2019独角兽企业重金招聘Python工程师标准>>> 最近我注意到,针对负载均衡和代理这两项现代网络技术,有教育意义的介绍性材料相当稀缺.这引起我的思考:为什么会这样?在可靠的分布 ...

最新文章

  1. JFreeChart_API
  2. 【android】两个按钮的宽度各占屏幕的一半
  3. python 中文件输入输出及os模块对文件系统的操作
  4. formal method lecture 13
  5. Spring集成Quartz定时任务框架介绍
  6. 全国计算机等级考试题库二级C操作题100套(第02套)
  7. 十年编程经验凝结 与新人们分享
  8. Centos7下搭建LAMP平台环境
  9. Github更优雅的使用:Chrome插件推荐
  10. Spring项目跟Axis2结合
  11. JS内置对象方法——array
  12. c语言程序设计数字电位器,数字电位器X9C103 100级调节电路和单片机源程序
  13. JDBC数据库编程(java实训报告)
  14. windows 远程连接mongo_远程连接天下数据ADSL动态拨号VPS教程(windows)
  15. AR学习笔记(四):相关文献查阅
  16. Windows 10 安装Jenkins 图文教程
  17. 简单聊聊Long Short Term Memory Network (LSTM)和 Gated Recurrent Unit (GRU)两种强大的RNN变体
  18. nginx关闭/重启/启动的操作方法
  19. 了解如何通过简单的技巧在Photoshop或GIMP中制作HDR图像
  20. oracle设置ip白名单

热门文章

  1. 不用第三方实现外网访问
  2. Mac开发-NSTextView软回车转换为硬回车
  3. word学习-软回车替换为硬回车
  4. android ios相机,曝苹果iOS13相机加入了这项功能 安卓上早就有了
  5. JVM 的GC 算法 分析
  6. 相见恨晚,真的很喜欢Udacity
  7. Arcgis空间校正操作
  8. wegame开dnf正在连接服务器,DNF安装wegame后显示无网络连接状态解决办法
  9. 局域网连接外网时,二级路由器设置
  10. 文档服务器 件排名,全国服务器排名