集群-基础知识(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 16:39
下一篇 2015-11-26 16:41

相关推荐

  • 8.10 shell scripts 作业

    1、编写脚本/root/bin/systeminfo.sh,显示当前主机系统信息,包括主机名,IPv4地址,操作系统版本,内核版本,CPU型号,内存大小,硬盘大小。 [root@CentOs6 bin]# systeminfo.sh        Hostname:&n…

    Linux干货 2016-08-12
  • vim文本编辑器

    vi简介 vi:Visual Interface,是一种功能强大的文本编辑器,工作在字符模式下,它可执行输出、输出、查找、替换、块等众多文本操作,不需要图形界面,因此执行起来效率会非常高,主要用来编辑纯文本文件,常见的编码有,ASCII,Unicode等等 文本编辑器的种类:     行编辑器:逐行来对文本进行处理的工…

    Linux干货 2016-08-15
  • 高级文件系统管理

    高级文件系统管理 本章内容  设定文件系统配额  设定和管理软RAID设备  配置逻辑卷  设定LVM快照  btrfs文件系统 配置配额系统 综述 • 在内核中执行 • 以文件系统为单位启用 • 对不同组或者用户的策略不同    &nb…

    Linux干货 2016-09-01
  • Nginx浅谈(一)

    浅谈nginx(一) 此文主要介绍nginx的基础知识及其基本配置,一为巩固,二为记录 知识点: nginx的作用 nginx的基本配置框架 nginx一些常用模块介绍 1、什么是nginx     nginx是一款免费的,开源的,高性能的HTTP服务软件,它不仅能     够支…

    Linux干货 2017-01-15
  • MySQL基础入门详解

    MySQL MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下公司。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 RDBMS (Relational Database Management System,关系数据库管理系统) 应用软件之一。 想要使用MySQL来存储并操作数…

    2017-09-16
  • 1.初识linux

    1.计算机组成 计算机五大部件:运算器、控制器、存储器、输入设备、输出设备。对应实际情况大致如下: CPU CPU(Central Processing Unit)主要包含运算器、控制器;也包含寄存器、缓存用于辅助: CPU在同一时间能并行处理的二进制数的位数称为CPU字长。字长由CPU对外数据通路的数据总线条数决定。 运算器 运算器也称…

    Linux干货 2016-08-22