大型网站--负载均衡架构

news/2024/5/17 11:26:16/文章来源:https://blog.csdn.net/iteye_16572/article/details/82544301

转自:http://www.cnblogs.com/and/p/3366400.html

负载均衡 (Load Balancing) 负载均衡建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

大型网站负载均衡的利器

  • 全局负载均衡系统(GSLB)
  • 内容缓存系统(CDN)
  • 服务器负载均衡系统(SLB)

DNS域名解析的基本过程

最初的负载均衡解决方案(DNS轮询)

优点

  • 基本上无成本,因为往往域名注册商的这种解析都是免费的;
  • 部署方便,除了网络拓扑的简单扩增,新增的Web服务器只要增加一个公网IP即可

缺点

  • 健康检查,如果某台服务器宕机,DNS服务器是无法知晓的,仍旧会将访问分配到此服务器。修改DNS记录全部生效起码要3-4小时,甚至更久;
  • 分配不均,如果几台Web服务器之间的配置不同,能够承受的压力也就不同,但是DNS解析分配的访问却是均匀分配的。用户群的分配不均衡导致DNS解析的不均衡。
  • 会话保持,如果是需要身份验证的网站,在不修改软件构架的情况下,这点是比较致命的,因为DNS解析无法将验证用户的访问持久分配到同一服务器。虽然有一定的本地DNS缓存,但是很难保证在用户访问期间,本地DNS不过期,而重新查询服务器并指向新的服务器,那么原服务器保存的用户信息是无法被带到新服务器的,而且可能要求被重新认证身份,来回切换时间长了各台服务器都保存有用户不同的信息,对服务器资源也是一种浪费。

全局负载均衡系统(GSLB)

优势

  • 数据中心冗余备份
  • 多站点流量优化
  • 确保用户体验

全局负载均衡系统(GSLB)的原理

 

 

DNS检查工具网上有很多,感兴趣的可以搜索一下。

内容缓存系统(CDN)

  • 内容缓存系统(CDN)之静态加速
  • 内容缓存系统(CDN)之动态加速

动态加速的特点

  • 智能路由
  • 传输控制协议(TCP)优化
  • HTTP预载

 

服务器负载均衡系统

应用背景

  • 访问流量快速增长
  • 业务量不断提高

用户需求

  • 希望获得7×24的不间断可用性及较快的系统反应时间

负载均衡必须满足性能、扩展、可靠性 

服务器负载均衡系统三种接入方式

部署方式

特点

优点

缺点

串联路由模式

比较常见的部署方式

  • 负载均衡设备将服务器有效隔离,安全考虑上最好
  • 服务器网关指向负载均衡设备,   功能实现更简单,有利于最大化负载均衡性能
  • 服务器可以直接接收到真实访问源客户IP地址
  • 对现有拓扑结构变动较大
  • 需要考虑内网服务器是否有对外访问需求,必要时需要设置静态NAT转换

单臂模式

最常见的部署方式

  • 部署方便,对现有拓扑结构变动小
  • 和应用无关的流量不会通过负载均衡设备
  • 内部应用无影响,外部应用通常需要前端防火墙做NAT映射到应用VIP
  • 服务器不能直接接收访问客户源地址,需要对应用做修改后才可以通过其他方式获得真实访问地址

DSR

服务器回程报文不通过负载均衡设备,直接返回给客户端; 

延迟短,适合流媒体等对延时要求较高应用

  • 性能高,可处理吞吐量高
  • 服务器可以直接接收到真实访问源客户IP地址
  • 只能做4层的负载均衡,基于7层的服务无法实现优化(例如压缩等)无法使用
  • 需要在服务器上配置loopback地址

 

服务器负载均衡系统的常见调度算法

  • 轮询(Round Robin)
  • 加权轮询(Weighted Round Robin)
  • 最少连接(Least Connections)
  • 加权最少连接(Weighted Least Connections)

健康性检查

健康性检查算法的目的:通过某种探针机制,检查服务器群中真实服务器的健康情况,避免把客户端的请求分发给出现故障的服务器,以提高业务的HA能力。

目前常用的健康性检查算法:

  • Ping(ICMP)
  • TCP
  • HTTP
  • FTP

系统加速

优化功能-SSL加速

优化功能-HTTP压缩

 HTTP压缩是在Web服务器和浏览器间传输压缩文本内容的方法。F5 HTTP压缩技术通过具有智能压缩能力的 BIG-IP 系统可缩短应用交付时间并优化带宽。HTTP压缩采用通用的压缩算法压缩HTML、JavaScript或CSS文件。压缩的最大好处就是降低了网络传输的数据量,从而提高客户端浏览器的访问速度。

 

优化功能-连接复用

优化功能-TCP缓存

 

会话保持

会话保持-客户端源IP会话保持

源IP地址会话保持就是将同一个源IP地址的连接或者请求认为是同一个用户,根据会话保持策略,在会话保持有效期内,将这些发自同一个源IP地址的连接/请求都转发到同一台服务器。

会话保持-Cookie会话保持

当采用基于源地址的会话保持无法做到负载均分时,例如客户端发起连接请求的源IP地址相对固定,发生此类问题通常可采用基于应用层的会话保持方式,Cookie通常是存在于HTTP头中,现如今基于HTTP的应用被广泛使用,因此基于Cookie的会话保持越来越多的出现在服务器负载均衡解决方案中。 

局限性:

  对于非HTTP协议,或者客户端禁用Cookie,无效。

会话保持-URL哈希(Hash)会话保持

哈希会话保持的一个基本概念就是按照某个Hash因子,根据此因子以及后台存在多少台服务器计算得到的结果来选择将请求分配到那台服务器。哈希会话保持的特点是在后台服务器的健康状态不发生改变的时候,每个特定的Hash因子被分配到的服务器是固定的。其最大的优势是哈希会话保持可以没有会话保持表,而仅仅是根据计算的结果来确定被分配到那台服务器,尤其在一些会话保持表查询的开销已经远远大于Hash计算开销的情况下,采用Hash会话保持可以提高系统的处理能力和响应速度。

 URL哈希会话保持通常针对后台采用Cache服务器的应用场景,针对URL进行Hash计算,将同一个URL的请求分配到同一台Cache服务器,这样,对后台的Cache服务器群来说,每台Cache服务器上存放的内容都是不一样的,提高Cache服务器的利用率。

 

故障案例分析

Q&A案例分析(1)-循环跳转

故障现象:

  Web服务端对用户访问的URL进行判断,对于非https的请求,重定向到http站点,结果导致用户一直302跳转。

原因分析:

  采用了负载均衡SSL加速功能,在服务端看到所有的用户请求都来自于http。

解决方案:

  全站启用SSL加速。

Q&A案例分析(2)-用户Session丢失

故障现象:

  用户在http站点上提交数据到同域名的https站点,web程序抛出session丢失的异常,用户提交数据失败。

原因分析:

  http和https在负载均衡设备上被认为是2个独立的服务,产生2个独立的TCP链接,会命中不同的真实服务器,导致session丢失。

解决方案:

  在负载均衡设备上启用基于真实服务器的会话保持。

Q&A案例分析(3)-客户端源IP取不到

故障现象:

  服务端获取不到用户外网的IP地址,看到的都是大量来自于内网特定网段的IP地址。

原因分析:

  负载均衡设备启用了用户源地址转换(SNAT)模式,修改了TCP报文中的用户源IP。

解决方案:

   负载均衡设备会用用户的外网IP改写x-forwarded-for值,服务端通过获取http协议中request header头的x-forwarded-for值作为用户源IP。IIS日志通过安装插件形式显示用户源IP。

服务器负载均衡设备选型

1.价格因素
    硬件设备:F5、 Citrix 、Redware 、A10
    软件:LVS、Nginx、Haproxy、zen loadbalance
2.性能
    4/7层吞吐量(单位bps)
    4/7层新建连接数(单位CPS)
    并发连接数
    功能模块性能指标(ssl加速、 HTTP压缩、内存Cache)
3.满足真实和未来需求
     1)如果确认负载均衡设备对所有应用的处理都是最简单的4层处理,那么理论上选择的负载均衡设备的4层性能稍高于实际性能需求即可。
     2)如果确认负载均衡设备对所有应用的处理都是简单的7层处理,那么理论上选择的负载均衡设备的7层性能稍高于实际性能需求即可。
     3)如果负载均衡设备处理的应用既有4层的也有7层的,建议按照7层应用的性能来考虑负载均衡设备。
     4)如果确认自己的应用经过负载均衡处理时,需要复杂的4层或者7层处理,例如需要根据客户端的地址做策略性分发,需要根据tcp的内容做处理,需要根据HTTP头或者HTTP报文做处理,那么建议选择的负载均衡设备4/7层性能为真实性能需求的两倍。
     5)如果负载均衡设备有混合的复杂流量处理并且还开启了一些功能模块,那么建议选择的负载均衡设备4/7层性能为真实性能需求的3倍。
     6)考虑到设备需要轻载运行才能更加稳定,所以有可能的话在以上基础上再增加30%的性能。
     7)如果还要满足未来几年的发展需求,在以上基础上还要留出未来发展所需要增加的性能。
     8)不同负载均衡设备厂家由于不同的架构,使得某些设备在复杂环境下可能也表现的比较优秀,这个客户可以对比判断,但总体来说,以上建议适合于所有厂家的设备。

 

未完待续

感兴趣的可以我关注微博或博客,如果感觉不错可以点“推荐”

http://vbooking.github.io/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.luyixian.cn/news_show_882533.aspx

如若内容造成侵权/违法违规/事实不符,请联系dt猫网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

如何提高网站ip流量

网站流量是衡量一个网站质量的标准之一,那么怎么提高网站流量呢,网站流量提高有哪些方法呢,下面就来介绍一下: 1、域名的选择在选择域名的时候最好选择简短并且与自己企业名称或者业务相关的域名,域名注册最好选择.co…

大型网站架构演变和知识体系(转载)

之前也有一些介绍大型网站架构演变的文章,例如LiveJournal的、ebay的,都是非常值得参考的,不过感觉他们讲的更多的是每次演变的结果,而没有很详细的讲为什么需要做这样的演变,再加上近来感觉有不少同学都很难明白为什么…

使用PortTunnel来透过局域网架网站

如今宽带已经不再是一个新鲜名词了,很多朋友也希望能够为丰富网络资源贡献一些自己的力量,而通过宽带架设Web网站或者是提供FTP下载服务则是最佳的选择。不过现在很多宽带用户都是使用电信、长城、聚友等一些城域网,也就是说整个公司在Intern…

公众号网站——微信登录

1、在微信公众号平台:接口权限->网页服务->网页授权 点击修改进入功能设置。设置网页授权域名 2、下载txt文件,放入服务器,填写域名。注意: 域名/MP_***.txt(文件名) 要能访问到下载下来放到服务器上的txt文件 &#xff0…

渗透实用的工具网站 希望对你们有用,

希望对你们有用, 以前找东西,要么记不住,要么找不到 http://dns.aizhan.com(ip翻查域名绑定) http://ping.chinaz.com/ https://www.17ce.com/ (检测是CDN) https://xssaq.com (xss平台…

MVC开发模式下网站策划/产品经理的角色定位

当前国内的主流建站程序都是采用了MVC三层架构来开发,对于网站的后期维护与应用过程,都有很大的裨益。由于MVC开发模式将前端设计、程序开发进行了明确的定义与分工,但是并没有对网站策划进行过多的定义与着墨,在这里,…

网站链接被微信屏蔽拦截了怎么办?VJump帮你解除屏蔽

出现这种情的原因呢,我相信大家也去了解了很多,但是对于商家来说,我们要避免出现这种情况,或出现了要立马解决。了解原因再去想解决办法是技术的事情。一天没解决,就多一天的损失。原因大同小异,无非是域名…

网站被微信浏览器拦截怎么办 微信屏蔽网址打开如何解决

先来认识一下微信屏蔽的原理。按原理逐个攻破,整理如下:微信屏蔽的原理 一、微信系统的两个检测手段:第一是系统的自动检测;第二是微信工作人员的人工检测。 二、 人工的检测很好理解,有用户投诉举报,在多…

10.3使用Koa中间件构建网站雏形

Chapter:10.服务端环境搭建和开发过程 10.3使用Koa中间件构建网站雏形 1.安装依赖包 老师提供的package.json 文件包含了要下载的包(查看该文件代码很容易理解,相当于就是一个写好的脚本) 10.3.1package.json文件内容.png 步骤 创建文件主目录webApp…

10.6网站服务端Ajax接口的完整开发(用于数据交互)

Chapter:10.服务端环境搭建和开发过程 10.6网站服务端Ajax接口的完整开发(用于数据交互) 1.初步了解接口&获取mock数据文件 查看网站 dushu.xiaomi.com (实际开发中如果http接口没有写好需要用测试数据的话,应该是和后端沟通拿到测试数据)&#x…

用心服务每一所高校:传智播客旗下院校服务品牌——院校邦官方网站正式上线!

文章目录 院校邦官网介绍院校邦业务范围介绍院校邦展望 院校邦官网介绍 经过长达半年时间的筹备,近日,传智播客旗下院校服务品牌——院校邦官方网站(www.ityxb.com)正式上线运行。 官网旨在为教师备课、技能充电、教学改革提供一…

seo优化之怎样降低网站跳出率

前面我们写到了什么是网站PV,其中就谈到了什么是跳出率,跳出率就是只访问了网站一个页面就离开了的用户占全部访问用户的百分比。今天深圳SEO就来详细解释一下什么是跳出率,怎样把跳出率降到最低。 只访问了网站一个页面就离开了网站&#x…

优秀网站导航设计的6个原则

在建立一个优秀的网站时,很难低估网站导航的重要性。虽然它不像其他一些主题那样华而不实,但错误的做法可能会使您的企业损失数万美元。 例如,考虑以下错误: 潜在客户没有意识到您提供特定服务,因此他们不会与您联系…

响应式网站建设:为什么它对您来说很重要

随着移动网站流量的持续增长,公司不能再拖延响应性网站建设的时间。 响应式网站设计早就退出了“早期采用者”阶段。互联网用户现在完全希望网站能够智能地响应他们使用的任何设备。 2017年,全球50.3%的网站访问来自手机。 我们走了很长一段路&#x…

如何针对搜索结果的精选代码进行seo优化

如果您希望为您的网站吸引更多流量并让更多用户点击您的内容,那么在搜索引擎中显示为精选摘要可能有所帮助。但是,如何将您的内容置于搜索结果中这个令人垂涎的地方? 在这篇文章中,深圳seo外包公司千赋科技讲带大家一起探讨: 什…

怎么才能做好营销型网站建设?

你有没有想过,是什么让一些网站如此受欢迎,而另一些网站却在初次访问后被忽视或很快被遗忘?一个好的网站不仅仅能吸引游客。最有效的网站将这些访问转化为实际的销售,可以帮助您建立强大的客户群。它所需要的只是一些智能的设计技巧、信息丰…

网站使用静态页面对seo优化的影响有多大

你可能已经意识到,在我们网站,很多内容都是关于织梦的的,那是因为网站程序用的织梦系统。当然,还有其他方法来构建网站,例如使用其他内容管理系统,甚至是静态网站生成。 如果您只使用内容管理系统(CMS)(如…

企业网站制作需要注意的几个问题

企业的官网对一家企业来说非常重要,在互联网时代,官网就代表着一家企业在网上的门面和形象。大部分人现在在试图了解陌生的公司时,都会选择去官网一探究竟,所以如果企业网站的设计不成功的话很大可能会影响到企业的发展。 如今&a…

响应式网站建设的3个优点

在当今的数字时代,越来越多的人使用平板电脑和智能手机等移动设备访问互联网。随着越来越多的消费者使用这些设备购买产品和服务,企业利用响应式网站建设非常重要。 通过响应式建站,您的网站可以重新配置其内容和图像,以适应任何…

SEO或SEM:您的网络营销策略是什么?

在考虑网络营销时,重要的是要考虑大局并考虑什么是适合您的业务。许多企业主提出的首要问题之一是他们是否应该将他们的网站营销工作重点放在搜索引擎优化(SEO)或搜索引擎营销(SEM)上。在长期成功方面,有效的在线营销不是将您的所有资源投入到一种类型的…