集群实践之集群初探

 

听到集群这个概念对于计算机初学者来说是不是很高大上有木有?其实就是将多台计算机(节点)连接起来协同工作而已。...



听到集群这个概念对于计算机初学者来说是不是很高大上有木有?其实就是将多台计算机(节点)连接起来协同工作而已。

先科普一下!

集群分类

集群计算机按功能和结构可以分成以下几类:

  • 高可用性集群High-availability (HA) clusters
  • 负载均衡集群Load balancing clusters
  • 高性能计算集群High-performance(HPC)clusters
高可用性集群

当集群中有某个节点失效的情况下,其上的任务会自动转移到其他正常的节点上。还指可以将集群中的某节点进行离线维护再上线,该过程并不影响整个集群的运行。

负载均衡集群

负载均衡集群运行时,一般通过一个或者多个前端负载均衡器,将工作负载分发到后端的一组服务器上,从而达到整个系统的高性能和高可用性。

高性能计算集群

高性能计算集群采用将计算任务分配到集群的不同计算节点而提高计算能力,因而主要应用在科学计算领域。

Linux Virtual Server

Linux虚拟服务器(Linux Virtual Server, LVS)建筑于实际的服务器集群之上,用户看不到提供服务的多台实际服务器,而只能看见一台或多台作为负载平衡器的服务器。他将用户的请求调度到实际服务器上完成,这样看起来好像所有服务都是通过虚拟服务器来完成的。下图为一个LVS结构图:



来,一点一点解释下:

Load Balancer层:位于整个集群系统的最前端,有一台或者多台负载调度器(Director Server)组成。其将用户的请求转发给后台内网服务器,内网服务器将请求的响应返回给负载调度器,负载调度器再将响应发送到用户,这样就向互联网用户隐藏了内网结构,阻止了用户直接访问后台(内网)服务器,使得服务器更加安全,可以阻止对核心网络栈和运行在其它端口服务的攻击。

另外Director Server会监控后台服务器的健康状况,当Real Server不可用时,会将它从路由表中剔除,恢复时重新加入。

Server Array层:由一组实际运行应用服务的机器组成。Real Server可以是WEB服务器、MAIL服务器、FTP服务器、DNS服务器中的一个或者多个,每个Real Server之间通过高速的LAN(局域网)或分布在各地的WAN(广域网)相连接。

Shared Storage层:是为所有Real Server提供共享存储空间和内容一致性的存储区域。共享存储通常是数据库、网络文件系统或者分布式文件系统。

what are you talking about?或许一些同学面对如此多的概念已经疯掉啦,那好,来看一个实际的例子吧,没错,就是这货——百度。

负载均衡初探

先做个试验,在你的linux上ping一下www.baidu.com,然后再ping一下,然后ping第三下,哎,就是多ping几下,我的结果是这样的:



对比下红线标出的ip部分,有没有发现ping同一个域名,但是它们的ip不一样?那问题来了,www.baidu.com究竟对应多少个ip地址呢,这就要借助dig命令了。



可以看到baidu拥有两个A记录和一个CNAME(别名)记录,关于CNAME自行百度。

OK,有同学就要问了将同一个域名解析到不同的ip上是要干什么?恩,先把这个问题放下。我们仔细将上面两幅图对比下,奇怪的地方来了,在ping第一次的时候的ip是115.239.211.112,而在dig的结果中并没有这个ip。哎!这都能掉坑里。所以啊,菜鸟到大神之路都是不断挖坑再填坑的过程。需要强调下,我不是大神!

经过各种baidu,突然灵光一闪,执行这样一条命令:

dig @8.8.8.8 www.baidu.com

看结果:

在这藏着有木有,题主恍然大悟:“DNS服务器不一样”,关于dig命令和DNS解析的详细过程就不在这里赘述了。

回到刚才的问题:为什么要将同一个域名解析到不同的ip上呢?

结合前面集群的概念,其实就很容易想到是为了进行负载均衡(Load Balancer),而像百度这样的大公司可能会采用多层负载均衡策略,而DNS负载均衡只是其最上面一层而已。接下来的Server Array层就是真正的web服务器了,是整个集群系统的核心。而Shared Storage层就是存取数据的地方了。后面会一一讲到。

下一节内容:《集群实践之负载均衡》

另外,有错误或者建议,欢迎留言哦!

参考资料:

1、http://ixdba.blog.51cto.com/2895551/552947

2、http://www.linuxvirtualserver.org/zh/lvs1.html

3、http://www.ibm.com/developerworks/cn/linux/theme/cluster.html(很不错 的网站哦)


    关注 凡人浪子


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册