集群-基础知识(1)

背景

随着互联网访问量的急剧增加,单台服务器的能力已严重不能满足需求。则需要从两个方面考虑提高服务能力:1、向上扩展,2、向外扩展

向上扩展的缺点:

1、造价高

2、随着性能的提高,会在某个临界点遇到瓶颈,导致性能随后降低。

向外扩展的优点:

1、造价低

2、提供高并发能力和高可用性

3、可扩展性好。

分类

负载均衡集群(Load Balance)

高可用集群(High Availability Cluster)

高性能集群(High performance computing)

负载均衡集群:由于电信运行商dns的原因,所以不能靠dns来做负载均衡,必须通过前端调度器将请求分发至后端的服务器,以提高并发访问量。但随着访问量的提高,调度器和存储等的限制,访问速度会成为瓶颈,所以需对网站进行功能切分,分别做集群,例如门户网站的分类。为了保证后端服务器提供的内容一致性,网页的静态内容使用rsync+inotify的机制做同步。一个web页面包含多个web对象,而目前的浏览器都支持多线程,所以来自客户端的请求,可能并发多个请求,调度器分发至多个后端服务器,可以提高网页的打开速度。而调度器具有health check的能力,能将挂了的主机移除,也能将恢复的主机加进集群。

优点:提高并发处理能力

高可用集群:可以提高服务的在线能力、服务可用性。例如有两台主机提供web服务,A作为正常提供服务的主机,B作为备用的主机,A不断地将自己的心跳信息用组播的方式传递给B,而B也能去检查A的心跳信息。当B不能得到A的心跳后,则会通过电源交换机关闭A的电源,并将A的ip地址夺过来,启动A之前提供的服务,以提高服务的在线能力。若是多台主机的高可用集群,还可以设置备节点的优先级,来响应主节点挂掉后的动作。

高可用集群传递的不只是心跳信息,还有事务信息(优先级等)。而负责协调完成事务的节点叫做DC(节点中的一台),若DC挂了,则其他主机间推选一个即可。

负载均衡集群和高可用集群的主要区别:

负载均衡集群提供并发处理能力,提供health check

高可用集群提供服务的始终在线能力,提供heartbeat

高性能集群:利用分布式文件系统将复杂问题分解为小问题并行处理。

由于高可用集群的效率不是很高(备份的主机会造成资源浪费),所以需要提高。例如web服务和邮件服务分别在A、B主机启动,然后它俩互为主备,则可以提高效率。但高可用集群在某一时刻资源只能在一台主机上启动。

脑裂:是因为cluster分裂导致的,cluster集群中节点因为处理器忙或者其他原因暂时停止响应时,其他节点可能误认为该节点“已死”,从而夺取共享磁盘(即资源)的访问权,此时极有可能假死节点重新对共享文件系统产生读写操作,从而导致共享磁盘文件系统损坏。

stonith:爆头,shoot the other node in the head通过电源交换机切断检测不到心跳信息的主机的电源。

隔离:fancing,拒绝某个节点访问某个资源。分为节点隔离(stonith)和资源隔离。

为了防止集群脑裂,集群节点应该为3或3个以上的奇数个。

其他知识:

DAS:直接附加存储。内核直接操作块设备的数据。若不同主机同时访问同一文件,则会造成写错误。但效率高。

NAS:网络附加存储。是文件级别的操作,第一个主机写数据时会施加锁,第二个主机就不能写。性能要比DAS差。


原创文章,作者:黑白子,如若转载,请注明出处:http://www.178linux.com/9468

(0)
黑白子黑白子
上一篇 2015-11-26
下一篇 2015-11-26

相关推荐

  • 创建私有CA和申请证书流程

    创建私有CA和申请证书流程 由于很多时候做实验需要用到证书,就需要自己搭建一个私有CA来给自己颁发证书。同时通过整理创建CA和申请证书、吊销证书的过程加深自己的理解. PKI:Publilc Key Infrastructure 公钥基础设施:     签证机构:CA     注册机构:RA &nb…

    Linux干货 2016-12-01
  • 2016-08-12作业

    1、查找/var 目录下属主为root ,且属组为mail 的所有文件 [root@localhost bin]# find /var -user root -group mail /var/spool/mail /var/spool/mail/root   2、查找/var 目录下不属于root 、lp 、gdm 的所有文件 find /var …

    Linux干货 2016-08-15
  • awk的进阶

    前言 awk的中有很多的控制语句,awk也支持if语句,while语句,for语句等等编程逻辑充的控制语句及数组、函数。 awk的进阶无非就是多练。 1.控制语句 (1)if-else语句 语句格式: if(condition) {statments}    if  (条件) 条件为真 执行{statments} 只有一个语句可…

    Linux干货 2016-06-26
  • httpd配置

    1、Centos7系统下实现httpd-2.2的安装,并分别实现prefork、worker、event等几种工作方式

    2、简述request报文请求方法和状态响应码

    3、详细描述httpd虚拟主机、站点访问控制、基于用户的访问控制、持久链接等应用配置实例

    Linux干货 2018-02-05
  • 到处都是Unix的胎记

    一说起Unix编程,不必多说,最著名的系统调用就是fork,pipe,exec,kill或是socket了(fork(2),execve(2), pipe(2), socketpair(2), select(2), kill(2), sigaction(2))这些系统调用都像是Unix编程的胎记或签名一样,表…

    Linux干货 2015-04-03
  • shll函数作业

    扫描/etc/passwd文件每一行,如发现GECOS字段为空,则填充用户名和单位电话为62985600,并提示该用户的GECOS信息修改成功。 [root@localhost sh.log]# cat whileGECOS.sh  #!/bin/bash #author:DYW #扫描/etc/passwd文件每一行…

    Linux干货 2016-08-24