网络负载平衡_负载平衡传入的网络流量-程序员宅基地

技术标签: 防火墙  网络技术  网络  session  服务器  microsoft  cookies  

网络负载平衡(NLB)是IP负载平衡技术,它是Windows 2000 Advanced Server和Windows2000 DataCenter的一部分。有了NLB,传入的TCP通信、用户数据报协议(UDP)通信和一般路由封装(GRE)通信请求被分发给各个群集成员。分发的依据是基于服务器负载百分比设置的统计算法。通过使用网络载量平衡创建服务器群集,可增强Internet服务器程序的可用性,这些Internet服务器程序可以是用于Web、代理、域名服务(DNS)、FTP、虚拟专用网(VPN)和流式媒体服务器等程序。同时,网络载量平衡有助于调整你的服务器性能,以跟上不断增长的基于Internet客户的需求。同时NLB提供了动态伸缩功能,即在不影响客户机的情况下。自动适应群集内服务器的添加和删除。NLB是智能的,因为它可以检测到服务器故障,并将其从正运行的群集内悄悄地删除。集群资源从当前不可用的节点切换到可用的节点,重新提供服务叫做故障切换。通常的故障切换有两种类型:
  ★有计划切换:由系统管理员进行系统升级或软件维护而强制进行切换。
  ★故障切换:由于掉电、系统或软件故障而引起的切换。
  
   深入了解群集
  在对网络负载平衡的应用例子讲解之前,我们必须来了解群集这样一个概念。群集就是一组连在一起的计算机,从外部看它是一个系统,各节点可以是不同的操作系统或不同硬件构成的计算机。例如,一个提供Web服务的集群,对外界来看是一个大Web服务器。不过集群的节点也可以单独提供服务,我们来看看一个基本的群集图.
  
 

   实现群集的方法
  
  实现了群集在某种程度上就算是实现了负载均衡。均衡的意思就是要使外部的连接平均地分布到内部的服务器上。一般来说,我们可以通过下面儿种方式进行群集服务。
  1、网络地址转换(NAT)法。这种方法可能大家较熟悉,地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址,外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP地址,能对内部进行伪装;缺点是效率低,因为返回给请求方的流量经过转换器。我们还可以对Nat进行改造,创建多路NAT服务,使多个IP地址和网络通道混合使用。
  2、直接路由(Direct forwarding)法。当参与集群的计算机和作为控制管理的计算机在同一个网段时可以用此法,控制管理的计算机接收到请求包时直接送到参与集群的节点。优点是返回给客户的流量不经过控制主机,速度快、开销少。
  3、隧道技术(Direct forwarding)。这种方式是在集群的节点不在同一个网段时可用的转发机制,是将IP包封装在其他网络流量中的方法,为了安全的考虑,应该使用隧道技术中的VPN,也可使用租用专线。
  总之,集群所能提供的服务是基于TCP/IP的Web服务、Mail服务。News服务、DNS服务、Proxy服务器等等。
  
   应用案例
  
  下面介绍一个用TurboLinux Cluster Server来实现一个负载均衡集群系统,用于提供Web和FTP的服务。其实这个例子在网上很多,大家还可以到网上去找找相应的资料。
  配置为:服务器共有12台,其中11台安装TurbolinuxCluster Server,1台安装Windows2000Sever。我们给外部提供Web和Ftp服务,要求外部的连接始终轮换的请求内部的服务器。具体配置如下:
  1、设置各台服务器的IP地址、子网掩码、路由等,调通网络,将一台TurboLinux服务器设置成DNS服务器,使其能够正向解析和反向解析。服务器名此例为pcl,域为test.com
  2、配置Cluster Server。执行Turbolinux clusteradmin,设置情况如下(注:箭头连接的是选单选项,箭头所指为下级选单,最后冒号后为设置情况)。
  
  
 

  
  网络设置:netmask 255.255.255.0
  
  配置集群各节点:因为TnrhnLinux Cluster Server本身能被工具自动同步,所以只需配置Windows2000 Server:→开始→设置→控制面板→添加新硬件→下一步→添加/排除设备故障→添加新设备→否,从列表选择硬件→其他设备→Microsoft:Microsoft Loopback Adapter→完成。桌面上右键单击"网上邻居"→属性→TCP/IP→设置IP地址、缺省网关、子网掩码(注:先设成:255.255.255.0)。开始→运行→regedit→找到注册表中跟Microsoft Loopback Adapter相关的项,将子网掩码改成:255.255.255.255.
  配置系统以便运行合适的服务、并配置适合控制管理器管理的配置,以便在控制管理器申使用。
  管理选单中执行内容同步:选t1cs_content_sync,输入密码,将复制控制管理计算机中的服务内容。在管理选单中执行设置同步:选tlcs_config_sync,输入密码,将复制控制管理计算机中的设置。现在己经可以进入运行状态,可将客户端连接在服务器的交换机上。客户端可以请求Web和FTP服务,需要查看运行情况可以用控制台从https://coml.blcserver.com:910管理。
  作为防火墙的计算机设备同样也需要负载平衡。通常,防火墙处于外部网和内部网之间,决定了哪些内部网络可以被哪些外部网络访问,以及哪些外部服务可以被内部人员访问。这样就造成了防火墙必定肩负着沉重的负担,而负载平衡恰恰可以缓解外部网络多主于网络带宽的压力,即在防火墙上面增加冗于功能。使用了负载平衡算法的冗余防火墙系统,能监测每个防火墙上的用户数目和流量,平等地动态分配单元进出的流量,保证所有安装的防火墙的性能处在最优化状态,这样整个系统处理数据流量的能力比单个防火墙就有了很大的提高。同时,不论处于备用状态还是负载均衡状态下,每个防火墙还监视其他设备的工作状态,当一个防火墙单元失效时。系统会将所有请求重新分配到其他单元上,并达到新的负载平衡。
  配置上面的防火墙体系,首先需要防火墙自身的支持。这种防火墙可以采用SecureCom 8001防火墙。其次需要对路由器进行设置,对进出外网的数据包进行转发才行。负载平衡应用到网络IDS的原理也和防火墙差不多,大家可以试着去揣摩一下。
  在程序编写上我们也可以用到负载平衡,只是现在的负载平衡很明显是用软件来替代硬件的算法,在速度上可能不是那么快,但效果还是很好的,可以缓解外部对内部服务器的要求。大家都使用过的QQ,其服务器就有很多台。而每次我们登录的服务器可能都不是一样的。尽管如此,也许我们登录的IP也只是一个群集IP地址(即这个IP地址会把我们重新定向到另一台我们所不知道的服务器上面。实现负载均衡)。很多大型的有实力的公司也会在全国各地建立自己的分站点,总不可能大家都去访问一台服务器吧,这样服务器很容易崩溃的。
  接下来,我们来和大家讨论一下如何在ASP程序里实现负载平衡。当我们创建交互式Web页面时最大的挑战之一是维持用户的状态,一个站点也许想记住你是谁、在n页之前你点击了什么。在这最后一次做了些什么、现在马上要向你显示什么。实现这些功能的途径有许多,如查询字符串、提交表单或Cookies,最强大的一种是ASP的Session对象。服务器可以在Session集台中跟踪一整群的变量。通过与用户的Session Cookie相匹配来保持每个用户有一个特定变量。只要用户在服务器上保持活跃,Session变量就维持它的状态。然后在大量用户的使用中跟踪用户会给服务器带来很大的负载。然而对真正的负载平衡来说,每当处于服务器上的用户点击一个连接时;它就转到另一个服务器上面去,从而改变服务器的状态,而每当浏览一个新页面时都潜在地丢失他们的Session信息。如果你发现自己是在这样的环境下编写代码,或者你怀疑你的站点最终是负载平衡的,可能只有4种方法来解决这个问题:完全不使用Session、使用临时Cookies、购买第三方组件来处理Session管理,以及仅对Web范围内的第一次点击进行负载平衡。
  
   1.根本不使用Sessions
  
  显然,绕过Sessions管理这个问题的一个途径就是根本不使用Sessions变量,但是你仍然受困于状态保持的问题。你可以使用最简单的方法跟踪用户,而不用写客户机。"一种不安全的方法是使用浏览器查询字符串,或用隐藏值进行表单置入,以便用户保持活跃状态。这将允许你给他们一个用户id,并将变量存储在一个所有的Web服务器都能到达的地方。比如说,我们保持了变量 Ship To Zip Code.Type Of Customer和 CustomerEmail,可以这样写:
  
 

  这样通过将所有的Session信息存储在数据库中,可以使这3个变量在每一页上都保持活跃,确保用户ID的值很难猜到,这很重要。当访问第一页时,将分配给用户的sessionID存储为用户名。当用户离开这一页时可以考虑清除这个数据,有效地重新生成ASP session对象。这可以手工完成,或者用一个限时程序将数周以上的记录删除。
  
   2.使用临时Cookies
  
  对于特别的非敏感数据,直接向客户机中写入信息是有意义的。比如说,如果我们的站点只使用了一个变量来跟踪用户的ZIP码来得到用户在当地的交通记录,那么以HTTPCookie的形式将用户的ZIP码写入他们的机器应该不会产生什么危害。因为你可以将Cookie论写成浏览器关闭时失效,就可以使它们模仿一个Session变量的功能,也可以使他们是持久的,好在用户下一次访问时记住他。用Request对象Cookie的值可以为服务器所用。请求Cookie的值,然后将值带进来。所以在我们上面的例子中,可以这样做:
  

  你不得不把这些放置在每个页面的顶部,但是如果用户把3个Cookies都设置了,那么每一页都可以存取和使用这些用户特定的变量。你还可以在一个Cookie中设置3个变量,请看Ken Baumbach的文章Cookie Basics with ASP,里面有设置变量的更多信息。如果你认为用户可能在浏览器上使Cookie无效,这种方法就不适用。但是越来越多的站点要求使用Cookies,Web用户也越来越熟练了。有可能相对很少的用户会使Cookies无效,但是这要在执行这一方法之前进行考虑。虽然上面的方法肯定能奏效,但是它们削弱了ASP的功能。因为它限制了其中一个关键组件Session对象的使用。
  
   3.购买一个第三方组件
  
  第三方组件一般可以比TTS更好地处理Session.在这里我们向大家介绍一个组件:由SoftArtisans提供的SA-Session Pro。它使用2000文件系"统存储用户的信息,整个网络范围内的服务器都可以使用。第三方组件创建"Session引擎"把网络服务器和Session管理器分离。这样,每次用户都可以被重定向到相同的Session引擎,同时也对服务器本身的点击进行负载平衡。另一个可选择的第三方组件是Microsoft的成员服务器。它是Microsoft的站点服务器,它允许一个站点处理状态维护以外的问题。
  由于ASP已经越来越成为企业级网络应用程序的选择,而负载平衡也成为这些应用程序成功的最大威胁,在市场上会出现越来越多的第三方组件。ASP本身就是服务器对象或ActiveX组件,就是可以处理这些插件的。
  不知道大家现在对SQL 2000了解吗?现在SQL2000可以和Win2000合作处理用户的Cookies,这样一来,ASP的Cookies变量和Session可以都存储在SQL2000数据库中,我们就再也不需要购买其他不是很可靠的第三方组件了。
  
   充分利用Win2000 Adv server
  
  Windows 2000 Advanced Server操作系统在包含Windows 2000服务器标准版全部特性和功能的基础上,为需要高度可伸缩性。可靠性及可用性的组织机构提供了额外特性。Windows 2000Advanced Server是一种通用高可用解决方案,适用于当今的PC客户机服务器局域网。它通过共享的SCSI磁盘阵列将两套Windows2000系统耦合在一起,创建成一种单一系统环境,或称为集群。终端客户可以存取所有的集群资源。例如,磁盘共享、文件共享以及数据库应用程序,而且不必了解集群内部各服务器名字。如果一台服务器失效,集群的第二台服务器将立即接替其工作负荷,重新连接客户机,迁徒共享存储器和文件共享等。
  Windows 2000 Advancedserver集群适用工业标准部件,以非常低的成本提供系统级高可用性。对客户机来说,集群的寻址跟单一服务器寻址没有差别。集群通过冗余CPU、存储器以及数据路径提供高水平的可用性。Wmdows 2000的网络负载平衡群集最多可将 32台运行 Windows2000Advanced Server软件的服务器合并到单个群集中,以此对基于 TCP/IP的服务和应用程序提供可伸缩性和高可靠性。客户端可使用一个IP地址访问群集,并用其他 IP地址访问多宿主服务器。网络负载平衡群集通过在群集中的服务器之间分配客户机连接以提供高性能。如果服务器故障或因升级、测试和维护而脱机,群集将自动重新配置,而且客户机连接也将重新分配。
  如果要在非群集环境下访问某个网络应用程序或资源,网络客户端必须与物理服务器 (是指网络中由唯一的网络名称和 IP地址所标识的特定计算机)连接。如果该服务器发生故障,则无法访问应用程序或资源.Windows 2000 Advanced Server允许通过服务器群集创建虚拟服务器。与物理服务器不同,虚拟服务器不与特定的计算机相关联,但可以像组那样进行故障转移。如果虚拟服务器所在的节点产生故障,则客户端仍可以使用相同的服务器名访问它的资源。
  对硬件RAID的支持,MicrosoftWindows硬件兼容性列表也包含了用于群集的许多不同硬件RAID配置
  群集技术和负载平衡是不可分割的。我们用了很大的篇幅给大家介绍了群集技术,它是实现负载平衡的关键。而负载平衡技术的强大功能还必须大家通过亲身实践才能体会到。 
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/vargas/article/details/1261583

智能推荐

leetcode 172. 阶乘后的零-程序员宅基地

文章浏览阅读63次。题目给定一个整数 n,返回 n! 结果尾数中零的数量。解题思路每个0都是由2 * 5得来的,相当于要求n!分解成质因子后2 * 5的数目,由于n中2的数目肯定是要大于5的数目,所以我们只需要求出n!中5的数目。C++代码class Solution {public: int trailingZeroes(int n) { ...

Day15-【Java SE进阶】IO流(一):File、IO流概述、File文件对象的创建、字节输入输出流FileInputStream FileoutputStream、释放资源。_outputstream释放-程序员宅基地

文章浏览阅读992次,点赞27次,收藏15次。UTF-8是Unicode字符集的一种编码方案,采取可变长编码方案,共分四个长度区:1个字节,2个字节,3个字节,4个字节。文件字节输入流:每次读取多个字节到字节数组中去,返回读取的字节数量,读取完毕会返回-1。注意1:字符编码时使用的字符集,和解码时使用的字符集必须一致,否则会出现乱码。定义一个与文件一样大的字节数组,一次性读取完文件的全部字节。UTF-8字符集:汉字占3个字节,英文、数字占1个字节。GBK字符集:汉字占2个字节,英文、数字占1个字节。GBK规定:汉字的第一个字节的第一位必须是1。_outputstream释放

jeecgboot重新登录_jeecg 登录自动退出-程序员宅基地

文章浏览阅读1.8k次,点赞3次,收藏3次。解决jeecgboot每次登录进去都会弹出请重新登录问题,在utils文件下找到request.js文件注释这段代码即可_jeecg 登录自动退出

数据中心供配电系统负荷计算实例分析-程序员宅基地

文章浏览阅读3.4k次。我国目前普遍采用需要系数法和二项式系数法确定用电设备的负荷,其中需要系数法是国际上普遍采用的确定计算负荷的方法,最为简便;而二项式系数法在确定设备台数较少且各台设备容量差..._数据中心用电负荷统计变压器

HTML5期末大作业:网页制作代码 网站设计——人电影网站(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 dreamweaver作业静态HTML网页设计模板_网页设计成品百度网盘-程序员宅基地

文章浏览阅读7k次,点赞4次,收藏46次。HTML5期末大作业:网页制作代码 网站设计——人电影网站(5页) HTML+CSS+JavaScript 学生DW网页设计作业成品 dreamweaver作业静态HTML网页设计模板常见网页设计作业题材有 个人、 美食、 公司、 学校、 旅游、 电商、 宠物、 电器、 茶叶、 家居、 酒店、 舞蹈、 动漫、 明星、 服装、 体育、 化妆品、 物流、 环保、 书籍、 婚纱、 军事、 游戏、 节日、 戒烟、 电影、 摄影、 文化、 家乡、 鲜花、 礼品、 汽车、 其他 等网页设计题目, A+水平作业_网页设计成品百度网盘

【Jailhouse 文章】Look Mum, no VM Exits_jailhouse sr-iov-程序员宅基地

文章浏览阅读392次。jailhouse 文章翻译,Look Mum, no VM Exits!_jailhouse sr-iov

随便推点

chatgpt赋能python:Python怎么删除文件中的某一行_python 删除文件特定几行-程序员宅基地

文章浏览阅读751次。本文由chatgpt生成,文章没有在chatgpt生成的基础上进行任何的修改。以上只是chatgpt能力的冰山一角。作为通用的Aigc大模型,只是展现它原本的实力。对于颠覆工作方式的ChatGPT,应该选择拥抱而不是抗拒,未来属于“会用”AI的人。AI职场汇报智能办公文案写作效率提升教程 专注于AI+职场+办公方向。下图是课程的整体大纲下图是AI职场汇报智能办公文案写作效率提升教程中用到的ai工具。_python 删除文件特定几行

Java过滤特殊字符的正则表达式_java正则表达式过滤特殊字符-程序员宅基地

文章浏览阅读2.1k次。【代码】Java过滤特殊字符的正则表达式。_java正则表达式过滤特殊字符

CSS中设置背景的7个属性及简写background注意点_background设置背景图片-程序员宅基地

文章浏览阅读5.7k次,点赞4次,收藏17次。css中背景的设置至关重要,也是一个难点,因为属性众多,对应的属性值也比较多,这里详细的列举了背景相关的7个属性及对应的属性值,并附上演示代码,后期要用的话,可以随时查看,那我们坐稳开车了······1: background-color 设置背景颜色2:background-image来设置背景图片- 语法:background-image:url(相对路径);-可以同时为一个元素指定背景颜色和背景图片,这样背景颜色将会作为背景图片的底色,一般情况下设置背景..._background设置背景图片

Win10 安装系统跳过创建用户,直接启用 Administrator_windows10msoobe进程-程序员宅基地

文章浏览阅读2.6k次,点赞2次,收藏8次。Win10 安装系统跳过创建用户,直接启用 Administrator_windows10msoobe进程

PyCharm2021安装教程-程序员宅基地

文章浏览阅读10w+次,点赞653次,收藏3k次。Windows安装pycharm教程新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入下载安装PyCharm1、进入官网PyCharm的下载地址:http://www.jetbrains.com/pycharm/downl_pycharm2021

《跨境电商——速卖通搜索排名规则解析与SEO技术》一一1.1 初识速卖通的搜索引擎...-程序员宅基地

文章浏览阅读835次。本节书摘来自异步社区出版社《跨境电商——速卖通搜索排名规则解析与SEO技术》一书中的第1章,第1.1节,作者: 冯晓宁,更多章节内容可以访问云栖社区“异步社区”公众号查看。1.1 初识速卖通的搜索引擎1.1.1 初识速卖通搜索作为速卖通卖家都应该知道,速卖通经常被视为“国际版的淘宝”。那么请想一下,普通消费者在淘宝网上购买商品的时候,他的行为应该..._跨境电商 速卖通搜索排名规则解析与seo技术 pdf

推荐文章

热门文章

相关标签