web负载均衡【总结归纳所有看过的资料的理论】
web负载均衡
在有些时候进行扩展是显而易见的,比如下载服务由于带宽不足而必须进行的扩展,但是,另一些时候,很多人一看到站点性能不尽如人意,就马上实施负载均衡等扩展手段,真的需要这样做吗?当然这个问题也只有他们自己能回答,除了出于高可用性和就近部署的考虑,大多数情况下这种行为都显得有些过早,那么,是不是一开始就完全不必考虑规模扩展呢?答案完全相反,作为架构师的你,从一开始就要思考未来的扩展计划,并且为扩展而进行架构设计,但是关键在于,你必须能够意识到何时需要实施扩展,并且有足够的数据来证明这种必要性。 值得一提的是,服务器自身硬件的垂直扩展不在我们的讨论之中,在这里我们所谈及的扩展,主要是指水平扩展,我们经常用可扩展性来反映这种扩展能力,所谓可扩展性,实际上是指系统通过扩展规模来提升承载能力的本领,这种本领往往体现在增加物理服务器或者集群节点等方面,可以说,这种本领越强,承载能力可提升的空间就越大。但是,这种本领总是受到或多或少的制约,比如,我们之所以不讨论单机垂直扩展,就是因为单机的扩展能力非常有限,很快就会遇到技术制约,并且随着规模的增大而越来越昂贵,的确,即使最强大的单机也无法满足我们的需要。
常用负载均衡
HTTP 重定向
对于HTTP 重定向,你一定不陌生,它可以将 HTTP 请求进行转移,在 Web 开发中我们经常会用它来完成自动跳转,比如用户登录成功后跳转到相应的管理页面。 这种重定向完全由HTTP 定义,并且由HTTP 代理和Web 服务器共同实现。很简单,当HTTP 代理(比如浏览器)向Web服务器请求某个URL后,Web 服务器可以通过HTTP 响应头信息中的Location 标记来返回一个新的URL,这意味着HTTP代理需要继续请求这个新的URL ,这便完成了自动跳转。当然,如果你自己写了一个 HTTP 代理,也可以不支持重定向,也就是对于Web 服务器返回的Location 标记视而不见,虽然这可能不符合HTTP 标准,但这完全取决于你的应用需要。 也正是因为HTTP 重定向具备了请求转移和自动跳转的本领,所以除了满足应用程序需要的各种自动跳转之外,它还可以用于实现负载均衡,以达到Web 扩展的目的。
DNS 负载均衡
我们知道,DNS负责提供域名解析服务,当我们访问某个站点时,实际上首先需要通过该站点域名的DNS服务器来获取域名指向的IP 地址,在这一过程中,DNS服务器完成了域名到IP 地址的映射,同样,这种映射也可以是一对多的,这时候,DNS 服务器便充当了负载均衡调度器(也称均衡器),它就像前面提到的重定向转移策略一样,将用户的请求分散到多台服务器上,但是它的实现机制完全不同。
反向代理负载均衡
反向代理服务器的核心工作便是转发 HTTP 请求,因此它工作在 HTTP 层面,也就是 TCP 七层结构中的应用层(第七层),所以基于反向代理的负载均衡也称为七层负载均衡,实现它并不困难,目前几乎所有主流的 Web 服务器都热衷于支持基于反向代理的负载均衡,随后我们将进行Nginx反向代理负载均衡的实验
IP 负载均衡
事实上,在数据链路层(第二层)、网络层(第三层)以及传输层(四层)都可以实现不同机制的负载均衡,但有所不同的是,这些负载均衡调度器的工作必须由Linux 内核来完成,因为我们希望网络数据包在从内核缓冲区进入进程用户地址空间之前,尽早地被转发到其他实际服务器上,没错,Linux 内核当然可以办得到,位于内核的Netfilter和IPVS可以解决问题,而用户空间的应用程序对此却束手无策。 另一方面,也正是因为可以将调度器工作在应用层以下,这些负载均衡系统可以支持更多的网络服务协议,比如FTP 、SMTP 、DNS ,以及流媒体和Vo I P 等应用。
web负载均衡【总结归纳所有看过的资料的理论】的更多相关文章
- web负载均衡整理
参考:http://www.cnblogs.com/lovingprince/archive/2008/11/13/2166350.html http://www.cnblogs.com/loving ...
- 企业级web负载均衡完美架构
转载:揭秘企业级web负载均衡完美架构(图) 2010-07-06 15:16 抚琴煮酒 51CTO.com 字号:T | T 相信很多朋友对企业级的负载均衡高可用实例非常感兴趣,此篇文章根据成熟的线 ...
- 六大Web负载均衡原理与实现
还有个姊妹篇也可以参考这个文章:LVS(Linus Virtual Server):三种负载均衡方式比较+另三种负载均衡方式, LVS 实现了负载均衡,NAT,DR,TUN zookeeper使用ZA ...
- Dubbo入门到精通学习笔记(十六):Keepalived+Nginx实现高可用Web负载均衡
文章目录 Keepalived+Nginx实现高可用Web负载均衡 Keepalived+Nginx实现高可用Web负载均衡 高可用架构篇 Keepalived + Nginx 实现高可用 Web 负 ...
- Web负载均衡的几种实现方式
Web负载均衡的几种实现方式摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用是 ...
- web负载均衡
在有些时候进行扩展是显而易见的,比如下载服务由于带宽不足而必须进行的扩展,但是,另一些时候,很多人一看到站点性能不尽如人意,就马上实施负载均衡等扩展手段,真的需要这样做吗?当然这个问题也只有他们自己能 ...
- IIS Web负载均衡的几种方式
Web负载均衡的几种实现方式 摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用 ...
- Web负载均衡的几种方式
Web负载均衡的几种实现方式 摘要:负载均衡(Load Balance)是集群技术(Cluster)的一种应用.负载均衡可以将工作任务分摊到多个处理单元,从而提高并发处理能力.目前最常见的负载均衡应用 ...
- 【系统架构】亿级Web系统搭建(1):Web负载均衡
当一个Web系统从日访问量10万逐步增长到1000万,甚至超过1亿的过程中,Web系统承受的压力会越来越大,在这个过程中,我们会遇到很多的问题.为了解决这些性能压力带来问题,我们需要通过搭建不同的服务 ...
随机推荐
- JPA with Hibernate implementation
https://code.google.com/p/jpa-basics-tutorial/source/checkout http://alextretyakov.blogspot.com/2013 ...
- curl常用设置-涉及超时相关
curl_easy_setopt( curl, CURLOPT_VERBOSE, 1L ); //在屏幕打印请求连接过程和返回http数据 curl_easy_setopt( curl, CURLOP ...
- Tomcat 用startup.bat启动,卡住解决
相比较用eclipse发布项目,直接在tomcat的bin目录下用startup.bat启动需要多做一些工作,而且直接运行startup.bat不会报错,不利于解决问题 所以最好的选择是在安装部署时 ...
- hive分隔符总结
ascii对应的表Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex | Char Dec Oct Hex ----------------- ...
- 04 Python入门学习-流程控制(if else elif while for)
一:流程控制if 语法一: if 条件: code1 code2 code3 ... age = 20 height = 170 weight = 60 sex = 'female' is_beaut ...
- Mysql命令行查看数据库大小(数据库版本为5.7以上)
数据库版本为5.7以上1.选择数据库use mydb1; 2.查看指定数据库表结构select * from information_schema.TABLES where information_s ...
- Linux的进程与服务(一)
启动的配置文件/etc/inittab,修改完配置文件以后 init q立即生效 # Default runlevel. The runlevels used by RHS are: # - halt ...
- [Selenium With C#基础教程] Lesson-02 Web元素定位
作者:Surpassme 来源:http://www.jianshu.com/p/cfd4ed1daabd 声明:本文为原创文章,如需转载请在文章页面明显位置给出原文链接,谢谢. 使用Selenium ...
- 转载VC6.0 子窗口和父窗口
这个是我周一在一家公司做的上机题中的一道,当场没做出来.我当时只跟考官说了设计思路,是带回来查了几本资料书之后才完成的.因为有半个学期没用VC开发了……,最近一直都在实践ASP.NET相关的…… 建立 ...
- Hdu1547 Bubble Shooter 2017-01-20 18:38 44人阅读 评论(0) 收藏
Bubble Shooter Time Limit : 2000/1000ms (Java/Other) Memory Limit : 65536/32768K (Java/Other) Tota ...