专栏首页程序猿的大杂烩集群——菜鸟学习Linux集群之概念篇

集群——菜鸟学习Linux集群之概念篇

    前两天学习了集群的应用,简单总结下:集群并不是很高深难懂的知识,只要掌握其原理,那么实现起来并不是很困难。下面我们一起来简单学习下集群。 什么是集群?     集群或者说是群集:其目的是为了实现将多台计算机组合以来完成特定的任务,比如天气预报,大型网络游戏,这些都需要很大的运算量,单台计算机实现成本太高,而且不现实。那么就需要通过集群的方式,将废弃的或者正在使用的计算机联合起来,结合整体的力量来解决这些问题。 集群的类型大致分为三类:     1.LB Load Balancing(负载均衡集群)     2.HA High Availability(高可用性集群)     3.HP High 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是一个命令,不过现在有专业的工具,通过rsync server来实现同步数据。它的效率比较高,但是缺点是文件必须存两份。 上面的都是在文件级别实现同步,效率不高,但是比NFS高多了,缺点是数据村两份 3) DRBD:在内核中基于块级别的共享,类似于rsync比rsync工作级别更低的,效率更高的解决方案,而且新版本的内核已经做进内核,廉价 4)使用专业级别的SAN ,通过光纤来同步块设备,(存储区域网络)这种存储的级别非常高,通过块设备。 但是数据同步存在一个问题: A节点很忙,B认为A当机了,就抢过服务,而A并没有当机,这样A也抢服务,这样A,B同时读写共享文件系统同一个文件,造成文件系统崩溃

解决这种问题的方法: B抢过服务后,B(通过电源交换机)直接将A关闭。当然还有其他的实现方法。 上述只是一种说明,真是情况超过100个节点,心跳探测是通过广播的方式通告,一旦没有广播,就判定那个节点死亡了,这样就造成了几十个节点争夺服务的情况,就需要其他的机制来限制这种争夺,比如排队,谁在最前,谁顶替,其他的继续监听,当然还有其他的方法。 高性能集群 类似于LVS,但是它的前端,是把请求分成N个小任务,给后方不同的主机处理,处理的结果返回给前端

它通过bowerfull这个软件来实现,这里不作过多说明,因为我们不学这个……… 它适用于在线量比较大的网站,游戏,云计算等领域等需要短时间内完成大量复杂运算的领域。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈数据库集群方案

    数据库往往是系统中的性能瓶颈,所以通常在系统设计中会引入各种各样的缓存机制,以避免频繁访问数据库。另外,数据库由于其重要性,高可用要求也是避免不了的,因为一旦数...

    端碗吹水
  • 快速了解Kubernetes

    Kubernetes 源自于 Google 内部的服务编排系统 - Borg,诞生于2014年。它汲取了Google 十五年生产环境的经验积累,并融合了社区优秀...

    端碗吹水
  • 微信公众号开发-素材/消息管理接口

    本文是 微信公众号开发者模式介绍及接入 的后续,如没看过前文的话,可能看本文会有些懵逼。本文主要介绍微信公众平台的素材、消息管理接口的开发。由于个人的订阅号是没...

    端碗吹水
  • 服务器集群步骤

    逐梦的青春
  • Facebook发布全新JavaScript引擎:Hermes

    Facebook在Chain React 2019 大会上发布的一个崭新JavaScript引擎

    Fundebug
  • Linux集群系列之一——集群基础概念

    集群 场景一 LAMP http,web object简单无状态连接 200,50dynamic prefork,2M ...

    若与
  • RTSP、RTMP、HTTP-FLV、 HLS安防网络摄像头互联网直播音视频流媒体服务器EasyNVR如何实现密码的MD5加密

    进入移动互联网时代以来,企业微信公众号已成为除官网以外非常重要的宣传渠道,当3.2亿直播用户与9亿微信用户的势能累加,在微信上开启直播已成为越来越多企业的必然选...

    EasyNVR
  • [未解决]yarn安装报错网络问题解决

    hankleo
  • Android – 随机生成背景色

    code_horse
  • 这可能是解决你Spring MVC接口漏洞百出的关键

    在 Java 开发中接触的开发者大多数不太注重对接口的测试,结果在联调对接中出现各种问题。也有的使用 Postman 等工具进行测试,虽然在使用上没有什么问题,...

    码农小胖哥

扫码关注云+社区

领取腾讯云代金券