近段时间一直在学习集群、高可用和复杂均衡方面的技术应用,现在基本上也算是学完了,写篇博客总结分享一下,但是掌握可能还是有些欠缺,所以本文内容只是出于我本人的理解,可能会有一些误点,如读者阅读过程发现失误请留言指正!
1. 首先上点概念
1.1集群(Cluster)
集群(Cluster)是用N台服务器构成的一个松耦合的多处理器系统(对用户来说,它们就像是一台服务器在提供服务),在这个系统中服务器之间通过网络实现通信,相互协作,共同承载一个或者多个服务/应用的请求压力。
1.2 高可用
高可用(High Availbility,简称HA)是利用集群中系统的冗余,当主服务器出现故障时,备份服务器能够及时切换服务,自动接管主服务器的工作,以实现对用户的不间断服务。
1.3 负载均衡
详细内容可以参阅负载均衡原理与技术实现
负载均衡(Load Balance,简称LB)是一种服务器或网络设备的集群技术。负载均衡将特定的业务(网络服务、网络流量等)分担给多个服务器或网络设备,从而提高了业务处理能力,保证了业务的高可用性。负载均衡基本概念有:实服务、实服务组、虚服务、调度算法、持续性等,其常用应用场景主要是服务器负载均衡,链路负载均衡。能够实现负载均衡的组件有nginx、haproxy等
上张图理解一下一般结构
2. 认识一些组件
2.1、apache
apache是Apache软件基金会的一个开放源代码的跨平台的网页服务器,属于老牌的web服务器了,支持基于Ip或者域名的虚拟主机,支持代理服务器,支持安全Socket层(SSL)等等,目前互联网主要使用它做静态资源服务器,也可以做代理服务器转发请求(如:图片链等),结合tomcat等servlet容器处理jsp。
2.2、ngnix
俄罗斯人开发的一个高性能的 HTTP加速和反向代理服务器。由于Nginx 超越 Apache 的高性能和稳定性,使得国内使用 Nginx 作为 Web 服务器的网站也越来越多,其中包括新浪博客、新浪播客、网易新闻、腾讯网、搜狐博客等门户网站频道等,在3w以上的高并发环境下,ngnix处理能力相当于apache的10倍。
2.3、lvs
Linux Virtual Server的简写,即Linux虚拟服务器,是一个虚拟的服务器集群系统。由毕业于国防科技大学的章文嵩博士于1998年5月创立,LVS 是一个实现负载均衡集群的开源软件项目,LVS架构从逻辑上可分为调度层、Server集群层和共享存储。
2.4、HAProxy
可参考 Haproxy负载均衡器
HAProxy提供高可用性、负载均衡以及基于TCP和HTTP应用的代理,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点, 这些站点通常又需要