集群服务研究

集群(Cluster):就是一组计算机,它们作为一个整体向用户提供一组网络资源。相对于单个计算机节点(Node),集群中有>=1个计算机节点
集群的特点:可扩展性、高可用性、负载均衡、错误恢复
集群主要分为:
1、高可用性集群(HA: High Availability Cluster)
2、负载均衡集群/负载均衡系统(LB: Load Balance Cluster)
3、科学计算/高性能集群(HPC: High Performance Computing)
1、高可用性集群HA
定义:一般是指当集群中的任意一个节点失效的情况下,节点上的所有任务自动转移到其他正常的节点上,并且此过程不影响整个集群的运行,不影响业务的提供。
作用:当一个机器宕机另一台进行接管(双机热备)
开源软件:keepalived,heartbeat
工作模式:
主从方式(非对称方式):主机工作,备机处于监控准备状况;当主机宕机时,备机接管主机的一切工作,待主机恢复正常后,按使用者的设定以自动或手动方式将服务切换到主机上运行,数据的一致性通过共享存储系统解决。
双机双工方式(互备互援):两台主机同时运行各自的服务工作且相互监测情况,当任一台主机宕机时,另一台主机立即接管它的一切工作,保证工作实时,应用服务系统的关键 数据存放在共享存储系统中。
集群工作方式(多服务器互备方式):多台主机一起工作,各自运行一个或几个服务,各为服务定义一个或多个备用主机,当某个主机故障时,运行在其上的服务就可以被其它主机接管。

2、负载均衡集群/负载均衡系统(LB)
定义:通常是指,将请求/数据【均匀】分摊到多个操作单元上执行,负载均衡的关键在于【均匀】,以达到最优化资源使用、最大化吞吐率、最小化响应时间、同时避免过载的目的。
作用:分担访问流量(负载均衡),保持业务的连续性(高可用性)
开源软件:lvs,haproxy,nginx,apache
商业集群硬件:F5,Netscaler,Radware,A10
负载均衡的分类
二层负载均衡(数据链路层) :负载均衡服务器对外依然提供一个VIP(虚IP),集群中不同的机器采用相同IP地址,但是机器的MAC地址不一样。当负载均衡服务器接受到请求之后,通过改写报文的目标MAC地址的方式将请求转发到目标机器实现负载均衡。
三层负载均衡(网络层):和二层负载均衡类似,负载均衡服务器对外依然提供一个VIP(虚IP),但是集群中不同的机器采用不同的IP地址。当负载均衡服务器接受到请求之后,根据不同的负载均衡算法,通过IP将请求转发至不同的真实服务器。
四层负载均衡(传输层):四层负载均衡工作在OSI模型的传输层,由于在传输层,只有TCP/UDP协议,这两种协议中除了包含源IP、目标IP以外,还包含源端口号及目的端口号。四层负载均衡服务器在接受到客户端请求后,以后通过修改数据包的地址信息(IP+端口号)将流量转发到应用服务器。
七层负载均衡(应用层):七层负载均衡工作在OSI模型的应用层,应用层协议较多,常用http、radius、dns等。七层负载就可以基于这些协议来负载。这些应用层协议中会包含很多有意义的内容。比如同一个Web服务器的负载均衡,除了根据IP加端口进行负载外,还可根据七层的URL、浏览器类别、语言来决定是否要进行负载均衡。

PS:OSI的7层从上到下分别是 7、应用层;6、表示层;5、会话层;4、传输层;3、网络层;2、数据链路层;1、物理层;

DNS负载均衡 :在DNS服务器上配置多个域名对应IP的记录。例如一个域名www.baidu.com对应一组web服务器IP地址,域名解析时经过DNS服务器的算法将一个域名请求分配到合适的真实服务器上
HTTP负载均衡:根据用户的http请求计算出一个真实的web服务器地址,并将该web服务器地址写入http重定向响应中返回给浏览器,由浏览器重新进行访问
IP负载均衡:在网络层通过修改请求目标地址进行负载均衡, LVS 实现了IP负载均衡,包含三个方法:NAT(传输层4),DR(直接路由, 数据链路层2),TUN(隧道)
链路层负载均衡:在通信协议的数据链路层修改mac地址,进行负载均衡
混合型负载均衡:多种均衡方式组合使用
参考:https://www.cnblogs.com/danbing/p/7459224.html

3、高性能计算集群(HPC)
定义:计算任务分配到集群的不同计算节点儿提高计算能力,因而主要应用在科学计算领域,主要有高吞吐计算、分布式计算
作用:大规模的计算,数据挖掘、天气预报等
参考:http://www.jointforce.com.cn/page/hardware_linux.html

分布式与集群的联系与区别如下:
(一) 分布式是指将不同的业务分布在不同的地方。
(二) 而集群指的是将几台服务器集中在一起,实现同一业务。
(三)分布式的每一个节点,都可以做集群,而集群并不一定就是分布式的。而分布式,从狭义上理解,也与集群差不多,但是它的组织比较松散,不像集群,有一定组织性,一台服务器宕了,其他的服务器可以顶上来。分布式的每一个节点,都完成不同的业务,一个节点宕了,这个业务就不可访问了。
同一个业务,部署在多个服务器上 。
一个业务拆分为多个子业务,部署在多个服务器上

集群:同一个业务,部署在多个服务器上 。
分布式:一个业务拆分为多个子业务,部署在多个服务器上 。

主流的负载均衡对比:

比较HAProxyNignxLVSApache
简介高可用、负载均衡且基于TCP和HTTP应用的代理,支持高并发,多集群反代。高性能http和反向代理服务器、邮件代理服务器,支持高并发,轻量级Web,低系统资源消耗。Linux虚拟服务器,常用VS/NAT、VS/TUN和VS/DR,三种模式负载均衡。高性能Web服务器,支持代理,市场份额很高。
优缺点1、抗负载能力强,负载均衡速度高。2、支持session保持,Cookie引导,可通过url检测后端服务器健康状态。3、也可做MySQL、Email等负载均衡。4、一般不做Web服务器的Cache。1、抗负载能力强。2、http、https、Emai协议功能较好,处理相应请求快。3、Web能力强,配置简单,支持缓存功能、适用动静分离,低内存消耗。4、不支持session直接保持,但可通过ip_hash解决,通过端口对后端服务器健康检查。1、抗负载能力强。2、通过vrrp转发(仅分发)效率高,流量通过内核处理,没有流量产生。(理论)3、相当稳定可靠。4、不支持正则,不能做动静分离,配置略复杂,需要IP略多1、Web处理能力强,市场份额很高。(不过后期Nginx在Web方面越来越好,份额也在增长)2、Rewrite强大,并支持很多模块,扩展很方便。3、Bug少,历史久,比较稳定。4、处理动态请求比Nginx好。
支持算法1、轮循Round-robin 2、带权轮循Weight-round-robin 3、原地址保持)Source 4、RI请求URL rdp-cookie(根据cookie)1、轮循Round-robin 2、带权轮循 Weight-round-robn3、Ip哈希Ip-hash1、rr(轮循)2、wrr(带权轮循)3、lc(最小连接)、4、wlc(权重最小连接)通过相关模块实现代理
官网www.haproxy.comnginx.orgwww.linuxvirtualserver.orghttp://www.apache.org/
虚拟主机支持支持不支持支持
适用性七层(常用)七层(常用)四层(常用)不常用
量级七层重量级,四层轻量级七层重量级,四层轻量级四层重量级功能略差
常用热备Keepalived+其它Keepalived+其它Keepalived+其它Keepalived+其它
负载均衡参考标准1、效率,并发处理能力、处理数据能力。2、成本、需求、平台。1、效率,并发处理能力、处理数据能力。2、成本、需求、平台。1、效率,并发处理能力、处理数据能力。2、成本、需求、平台。1、效率,并发处理能力、处理数据能力。2、成本、需求、平台。

总结:
大型网站架构:对性能有严格要求的时候可以使用lvs或者硬件F5,单从负载均衡的角度来说,lvs也许会成为主流,更适合现在大型的互联网公司;
中型网站架构:对于页面分离请求由明确规定,并且性能有严格要求时,可以使用haproxy
中小型网站架构:比如日访问量小于1000万,需要进行高并发的网站或者对网络不太严格的时候,可以使用nginx

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

数据迷宫

你的打赏将是我创作的最大鼓励

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值