前两天学习了集群的应用,简单总结下:集群并不是很高深难懂的知识,只要掌握其原理,那么实现起来并不是很困难。下面我们一起来简单学习下集群。
什么是集群?
集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不显示。那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题。
集群的类型大致分为三类:
1.LBLoad Balancing(负载均衡集群)
2.HAHigh Availability(高可用性集群)
3.HPHigh Performance(高性能集群)
简单说明下这三种类型的集群:
1.负载均衡型的集群目的是为了提高服务的并发能力,比如三台WEB服务器组合成一个集群,我们就需要用这种类型的集群来实现负载均衡,既让这三台WEB服务器的负载平均一些,不至于有很空闲的服务器。
2.高可用性的集群目的是为了提供7*24小时服务的能力,通过提供冗余服务器,来防止宏机造成的服务中断
3.高性能集群目的是为了在短期内解决大量复杂的计算,常见的天气预报系统,科学勘探,人口普查等等
同时,集群提供了非常好的扩展/缩减性非常,可以方便的增加或者减少服务器。
集群实现的方式
LB负载均衡
F5(硬件)
lvs
haproxy
HA 高可用
Heartbeat ***目前分类成几个小项目
corosync+openais: RHCS***REDHAT6.0目前使用的,它的可配置,可共享性优于上面的
ultramokey
keepalive
HP高性能
bowerful
============================分 割 线======================================
下面我们来详细的介绍下负载均衡集群和高可用集群的实现原理
负载均衡集群
————负载均衡其实就是一个乐队的指挥,指挥下面的乐队
为了实现负载均衡,我们需要一个前端的负载均衡器---------Direcor转发服务器(或者专业的硬件),通过它来接受客户端的请求,把这些请求来转发给后方的服务器。在这个转发的过程中,根据后方服务器的负载情况(通过算法)平均分配,以实现负载均衡。
上面说了,可以通过构架专用的服务器来实现负载均衡器的作用,那么通过什么软件来实现这个服务呢?
主要有两种:
1. LVS Linux Virtual Server LVS是由国人章文嵩开发的开源集群软件,是目前广泛使用的集群软件之一。
2. haproxy
LVS经过优化能够提供接近于硬件的性能,而且开源所以使用很多。但是当Director这台主机当机了,整个集群就失效了,这就是单点故障,所以我们需要通过另一种集群的组合来实现集群的功能。
好处:
1.实现负载均衡
2.能过提供类似高可用的功能,比如第一台WEB服务器当机了,通过算法将请求转到第二台
3.能够非常容易扩展,便捷的扩展性,很容易增加主机
高可用集群
—————认为哪个地方不会出错,它就出错----莫非定律
上面说了,高可用集群就是为了可以提供7*24小时在线服务的能力,那么完成这样的需求都需要什么呢?
完成高可用集群需要:
1.服务一旦发生故障,服务就转移到另一台服务器
假设服务器A有一颗“心脏“,在它正在提供服务的时候,剩余两台服务器通过探测它的”心跳“来确认它是否还”活着“,如果“心跳”停止了,那么立刻再监听一次,如果这次“心跳”仍然是停止的,那么立刻顶替上去提供服务
2.数据同步
数据同步的实现方式:
1)通过类似NFS的共享服务,但是NFS也需要网络传输,效率比较低
2)通过某种机制(文件同步rsync),将A节点改变的内容发给B节点.
# Rsync是一个命令,不过现在有专业的工具,通过rsyncserver来实现同步数据。它的效率比较高,但是缺点是文件必须存两份。
上面的都是在文件级别实现同步,效率不高,但是比NFS高多了,缺点是数据村两份
3) DRBD:在内核中基于块级别的共享,类似于rsync比rsync工作级别更低的,效率更高的解决方案,而且新版本的内核已经做进内核,廉价
4)使用专业级别的SAN ,通过光纤来同步块设备,(存储区域网络)这种存储的级别非常高,通过块设备。
但是数据同步存在一个问题:
A节点很忙,B认为A当机了,就抢过服务,而A并没有当机,这样A也抢服务,这样A,B同时读写共享文件系统同一个文件,造成文件系统崩溃
解决这种问题的方法:
B抢过服务后,B(通过电源交换机)直接将A关闭。当然还有其他的实现方法。
上述只是一种说明,真是情况超过100个节点,心跳探测是通过广播的方式通告,一旦没有广播,就判定那个节点死亡了,这样就造成了几十个节点争夺服务的情况,就需要其他的机制来限制这种争夺,比如排队,谁在最前,谁顶替,其他的继续监听,当然还有其他的方法。
高性能集群
类似于LVS,但是它的前端,是把请求分成N个小任务,给后方不同的主机处理,处理的结果返回给前端
它通过bowerfull这个软件来实现,这里不作过多说明,因为我们不学这个………
它适用于在线量比较大的网站,游戏,云计算等领域
分享到:
相关推荐
Linux菜鸟过关 Linux 菜鸟过关 Linux菜鸟过关 Linux 菜鸟过关
Linux入门的好书,要学习Linux就从这里开始吧。
Linux菜鸟过关全面解决您的Linux之旅问题。您现在要做的是了解一些Linux知识与安装方法,按照本教程的顺序阅读即可。本教程可以作为您短期突破Linux安装的教材,这一切都不复杂。 我希望每位学习者都不要被拒于...
《蜕变:从菜鸟到linux安全专家》通过实际故事场景对linux安全技术和应用方法进行了全面、深入和系统的分析。分别从黑客攻击的基本技术、linux面临的安全威胁、linux系统安全管理、linux网络服务安全管理、linux核心...
linux shell 基础学习笔记,对初学者来说有比较好参考借鉴的意义。
和菜鸟一起学linux内核源码之基础准备篇.pdf和菜鸟一起学linux内核源码之基础准备篇.pdf和菜鸟一起学linux内核源码之基础准备篇.pdf和菜鸟一起学linux内核源码之基础准备篇.pdf和菜鸟一起学linux内核源码之基础准备...
Linux菜鸟学习很经典的书
[蜕变-从菜鸟到Linux安全专家].李洋.扫描版
对于菜鸟来说,学习linux很好的资料。打开密码是:linuxeden
“菜鸟”遭遇Linux.pdf
linux菜鸟进阶系列之Linux常用命令(新手必看)分享.pdf
菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux
\Linux菜鸟专用资料.pdf \Linux菜鸟专用资料.pdf \Linux菜鸟专用资料.pdf
从入门到精通详细的Linux系统操作介绍以及指令大全
2016年12月29最新版
菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux菜鸟日记 linux
Linux菜鸟专用.pdf 本文档主要介绍了 Linux 操作系统的基本知识,包括硬盘、分区、目录、交换分区和分区格式等概念。 硬盘 硬盘是可以存储大量信息资源的媒介。硬盘的形状是圆的,但为了便于携带而设计成方形外壳...
linux菜鸟进阶系列之Linux常用命令(新手必看).pdf
LINUX教程书籍,菜鸟入门宝典 LINUX教程书籍,菜鸟入门宝典 LINUX教程书籍,菜鸟入门宝典
linux 菜鸟过关教程