负载均衡集群

负载均衡集群,第1张

1、集群是什么?

① 集群(cluster)技术是一种较新的技术,通过集群技术,可以在付出较低成本的情况下获得在性能、可靠性、灵活性方面的相对较高的收益,其任务调度则是集群系统中的核心技术。

② 集群是一组相互独立的、通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理。一个客户与集群相互作用时,集群像是一个独立的服务器。

③ 集群组成后,可以利用多个计算机和组合进行海量请求处理( 负载均衡 ),从而获得很高的处理效率,也可以用多个计算机做备份(高可用),使得任何一个机器坏了整个系统还是能正常运行。集群在目前互联网公司是必备的技术,极大提高互联网业务的可用性和可缩放性。

2、负载均衡集群技术

① 负载均衡(Load Balance):负载均衡集群为企业需求提供了可解决容量问题的有效方案。负载均衡集群使负载可以在计算机集群中尽可能平均地分摊处理。

② 负载通常包括应用程序处理负载和网络流量负载。这样的系统非常适合向使用同一组应用程序的大量用户提供服务。每个节点都可以承担一定的处理负载,并且可以实现处理负载在节点之间的动态分配,以实现负载均衡。对于网络流量负载,当网络服务程序接受了高入网流量,以致无法迅速处理,这时,网络流量就会发送给在其它节点上运行的网络服务程序。也可根据服务器的承载能力,进行服务请求的分发,从而使用户的请求得到更快速的处理。

3、负载均衡集群技术的实现

负载均衡(Load Balance)

负载均衡技术类型:基于 4 层负载均衡技术和基于 7 层负载均衡技术

负载均衡实现方式:硬件负载均衡设备或者软件负载均衡

硬件负载均衡产品: F5 BIG-IP 、Citrix Netscaler  、深信服 、Array 、Radware

软件负载均衡产品: LVS (Linux Virtual Server)、 Haproxy、Nginx、Ats(apache traffic server)

4、实现效果如图

5、负载均衡分类

负载均衡根据所采用的设备对象( 软/硬件负载均衡 ),应用的OSI网络层次( 网络层次上的负载均衡 ),及应用的地理结构( 本地/全局负载均衡 )等来分类。本文着重介绍的是根据应用的 OSI 网络层次来分类的两个负载均衡类型。

我们先来看一张图,相信很多同学对这张图都不陌生,这是一张网络模型图,包含了 OSI 模型及 TCP/IP 模型,两个模型虽然有一点点区别,但主要的目的是一样的,模型图描述了通信是怎么进行的。它解决了实现有效通信所需要的所有过程,并将这些过程划分为逻辑上的层。层可以简单地理解成数据通信需要的步骤。

根据负载均衡所作用在 OSI 模型的位置不同,负载均衡可以大概分为以下几类:

二层负载均衡(mac)

根据OSI模型分的二层负载,一般是用虚拟mac地址方式,外部对虚拟MAC地址请求,负载均衡接收后分配后端实际的MAC地址响应。

三层负载均衡(ip)

一般采用虚拟IP地址方式,外部对虚拟的ip地址请求,负载均衡接收后分配后端实际的IP地址响应。

四层负载均衡(tcp)

在三层负载均衡的基础上,用ip+port接收请求,再转发到对应的机器。

七层负载均衡(http)

根据虚拟的url或IP,主机名接收请求,再转向相应的处理服务器。

在实际应用中,比较常见的就是四层负载及七层负载。这里也重点说下这两种负载。

6、四层负载均衡(基于IP+端口的负载均衡)

所谓四层负载均衡,也就是主要通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

layer4

1.在三层负载均衡的基础上,通过发布三层的IP地址(VIP),然后加四层的端口号,来决定哪些流量需要做负载均衡,对需要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

2.以常见的TCP为例,负载均衡设备在接收到第一个来自客户端的SYN 请求时,即通过上述方式选择一个最佳的服务器,并对报文中目标IP地址进行修改(改为后端服务器IP),直接转发给该服务器。TCP的连接建立,即三次握手是客户端和服务器直接建立的,负载均衡设备只是起到一个类似路由器的转发动作。在某些部署情况下,为保证服务器回包可以正确返回给负载均衡设备,在转发报文的同时可能还会对报文原来的源地址进行修改。

3.对应的负载均衡器称为四层交换机(L4 switch),主要分析IP层及TCP/UDP层,实现四层负载均衡。此种负载均衡器不理解应用协议(如HTTP/FTP/MySQL等等)要处理的流量进行NAT处理,转发至后台服务器,并记录下这个TCP或者UDP的流量是由哪台服务器处理的,后续这个连接的所有流量都同样转发到同一台服务器处理。

4.实现四层负载均衡的软件有:

F5:硬件负载均衡器,功能很好,但是成本很高。

lvs:重量级的四层负载软件

nginx:轻量级的四层负载软件,带缓存功能,正则表达式较灵活

haproxy:模拟四层转发,较灵活

7、七层的负载均衡(基于虚拟的URL或主机IP的负载均衡)

所谓七层负载均衡,也称为“内容交换”,也就是主要通过报文中的真正有意义的应用层内容,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。

layer7

1.在四层负载均衡的基础上(没有四层是绝对不可能有七层的),再考虑应用层的特征,比如同一个Web服务器的负载均衡,除了根据VIP加80端口辨别是否需要处理的流量,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。举个例子,如果你的Web服务器分成两组,一组是中文语言的,一组是英文语言的,那么七层负载均衡就可以当用户来访问你的域名时,自动辨别用户语言,然后选择对应的语言服务器组进行负载均衡处理。

2.以常见的TCP为例,负载均衡设备如果要根据真正的应用层内容再选择服务器,只能先代理最终的服务器和客户端建立连接(三次握手)后,才可能接受到客户端发送的真正应用层内容的报文,然后再根据该报文中的特定字段,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器。负载均衡设备在这种情况下,更类似于一个 代理服务器 。负载均衡和前端的客户端以及后端的服务器会分别建立TCP连接。所以从这个技术原理上来看,七层负载均衡明显的对负载均衡设备的要求更高,处理七层的能力也必然会低于四层模式的部署方式。

3.对应的负载均衡器称为七层交换机(L7 switch),除了支持四层负载均衡以外,还有分析应用层的信息,如HTTP协议URI或Cookie信息,实现七层负载均衡。此种负载均衡器能理解应用协议。

4.实现七层负载均衡的软件有:

haproxy:天生负载均衡技能,全面支持七层代理,会话保持,标记,路径转移;

nginx:只在http协议和mail协议上功能比较好,性能与haproxy差不多;

apache:功能较差

Mysql proxy:功能尚可。

8、四层负载与七层负载的区别

举个例子形象的说明:四层负载均衡就像银行的自助排号机,每一个达到银行的客户根据排号机的顺序,选择对应的窗口接受服务;而七层负载均衡像银行大堂经理,先确认客户需要办理的业务,再安排排号。这样办理理财、存取款等业务的客户,会根据银行内部资源得到统一协调处理,加快客户业务办理流程。

总结:从上面的对比看来四层负载与七层负载最大的区别就是效率与功能的区别。四层负载架构设计比较简单,无需解析具体的消息内容,在网络吞吐量及处理能力上会相对比较高,而七层负载均衡的优势则体现在功能多,控制灵活强大。在具体业务架构设计时,使用七层负载或者四层负载还得根据具体的情况综合考虑。

2、Haproxy 实现四层负载

开在一台服务器上,而是开到一个群组的所有服务器上,一般20台为一个群组。

问:集群空间跟传统空间的最大不同是什么?

答:集群空间有数据同步和宕机检测与智能解析域名的功能。

问:集群空间为什么会比传统空间稳定?

答:因为当客户开通一个集群空间后集群空间系统就会把客户的空间和站点资料同步到同

一个群组的所有服务器上,一但当前访问的服务器不能正常工作时,智能系统就会把客

户的域名解析到能正常工作的服务器上。

问:站点数据同步需要多长时间?

答:新开设的站点数据同步到所有服务器上大概需要一个小时。如果站点数据小会更快。

问:站点参数(如:加减域名绑定)修改多长时间同步?

答:10分钟内同步成功

问:当服务器坏了多长时间会转移到正常的服务器上。

答:最长不会超过1分钟,因为宕机检测30秒一次,同时域名的重新解析也需要30秒才生

效。

问:站点跟数据库是否可以开在同一台服务器上?

答:最好不要,因为集群系统暂时还没同步大型数据库(mssqlmysql)。所以当服务器不

能正常工作时,集群系统只是把您的站点转移到别的服务器上,并没把数据库也同时转

移过去,所以最好把数据库开设在群外的服务器上。

问:集群空间是否支持开通php空间?

答:可以支持php,但还没办法同步mysql数据同步。将在二期工程实现.

问:集群空间跟传统空间使用上有什么不同?

答:考虑到用户的方便使用,我们在设计的时候就本着尽量减少手工 *** 作的思路,所以在使

用方面他们没有太大的区别,唯一的区别是我们用免费提供的二级域名代替原来的IP,

也就是说使用传统的空间时,用户是把自己的域名解析到IP上,现在是作别名

(CNAME)解析到我们免费提供的二级域名,和登录FTP的地址是我们提供的二级域

名。

问:域名本身(不带www)如何作别名(CNAME)解析?

答:作别名解析的时候主机名不能为空,如果要给域名本身作别名解析请在主机名的位置上填写noprefix ,提交后自然变为空。

问:集群空间是否能防CC攻击?

答:集群空间系统本身没防CC攻击的功能。可我们也有自主开发的防CC攻击防火墙可以屏蔽掉95%的攻击IP。

问:正被攻击的空间转到集群空间是否马上有效。

答:必须在您把站点资料传到服务器上大概三个小时才有效,因为系统把您的站点资料同步到同群内的所有服务器上的过程需要大概三个小时。您站点资料比较少就会更快。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/6102089.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-14
下一篇 2023-03-14

发表评论

登录后才能评论

评论列表(0条)

保存