LINUX集群概念

反向代理服务器:客户端发现请求给反向代理服务器,反向代理服务器与后端真实服务器进行通信,并由反向代理服务器返回信息给客户端

不同的服务,反向代理服务器使用的协议不同(如http、mysql等):

反代服务器后端的真实服务器一般是多台服务器组成的集群

Linux Cluster:

    

    集群:将多台主机组织起来满足同一个需求

    系统扩展的方式(系统资源遇瓶颈时的扩展):

        Scale UP:向上扩展(提供性能更好的服务器)

        Scale OUT:向外扩展,水平扩展(利用分布式技术)

            瓶颈在分布式服务器后端的共享存储资源的访问量

    集群的类型:

         LB:Load Banlance,负载均衡集群:

             负载均衡器,调度器,分发器

             后端主机(backend server,upsteaming server),LVS中称为“真”服务器(real server)

         HA:High Avaliblly,高可用集群(由相互冗余的服务器构成的集群)

             Active:活动服务器

             Passive、Standby:备用服务器

             HA集群用于防止单点故障发生(SPOF)

             可用性指标Avalibility=MTBF/(MTBF+MTTR)   [平均无故障时间/(平均无故障时间+平均修复时间)]  在0-1之间   99.9%比99%可用性高了10倍

         HP:High Performance

         DS:Distributed System

             hadoop:

                mapreduce

                hdfs

    LB集群的实现:

         1.DNS轮询(效率不高)   起点公平

         2.使用一台服务器作为调度器,分配到后端的真实服务器    末端公平

         硬件:

             F5 BIG-IP

             Critrix Netscaler

             A10 A10

             Array

             Redware            

         软件:

             lvs: linux virtual server

             haproxy

             nginx

             ats(appche traffice server)

             perbal

         基于工作的协议层次划分:

             传输层:

                lvs,haproxy,nginx    #lvs是真TCP层进行调度,工作在内核上;而haproxy和nginx是基于7层模拟调度

             应用层:

                haproxy(mode http),nginx,ats,perlbal

         工作在传输层和工作在应用层调度的区别:

             传输层:只需要在内核空间运行即可,不进行系统调用,直接使用IP地址;不需要维护程序套接文件,突破套接字文件限制和套接字数量限制

             应用层:需要接受用户请求并维护程序套接文件,还需要通过程序与后端进行请求数据,占用系统端口

             

             因此lvs服务器优化得当将可达到400-500万并发连接

     

     HA集群的实现:

         keepalived:vrrp协议主机层面的实现    #目前常用的HA集群

         ais协会:

             heartbeat

             cman+rgmanager(RHCS)

             corosync+pacemaker     #目前常用的HA集群

     系统构建需考虑的问题:

         分层:不同类型的系统,使用不同服务器

         分割:将一个大业务切成多个小业务,每个小业务放在一类服务器上

         分布式:如RPC机制

             应用

             数据

             存储

             计算

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

(0)
oranixoranix
上一篇 2017-01-10 10:16
下一篇 2017-01-10 13:18

相关推荐

  • HAproxy reload config file with uninterrupt session

    HAProxy is a high performance load balancer. It is very light-weight, and free, making it a great option if you are in the market for a load balancer and need to keep your cos…

    Linux干货 2015-04-03
  • systemd

    1、systemd (1)CentOS 7 使用systemd替换了SysV。Systemd目的是要取代一直在使用的init系统,兼容SysV和LSB的启动脚本,负责在系统启动或运行时,激活系统资源、服务器进程和其它进程。 (2)systemd的新特性: 系统引导是实现服务并行启动 按需启动守护进程 自动化管理各服务间的依赖关系 同时采用sockets式与D…

    Linux干货 2016-09-21
  • Linux下常用的日志收集命令(Redhat&SuSe)

       Linux下日志的采集和分析是一个非常重要的工作,一般厂商在你需要技术支持的时候,都需要你通过对应指令收集系统的信息,我这边列举下常用的两个Linux厂商的收集命令(Redhat Linux以及SuSe Linux),便于收集后,对系统进行全面分析。   sosreport是一个类型于supportconfig …

    系统运维 2016-07-07
  • vsftpd基于mysql存储认证(centos7)

    (1)首先开发包组和服务器平平台开发包组 (2)yum安装需要的依赖包 (3)编译安装pam_mysql模块 (4)配置mysql,并添加mysql中的vsftpd进程用户,且创建vsftpd数据库,并将vsftpd数据库授权给vsftpd用户,且创建vsftpd.users表,并在表中添加用户tom (5)创建vsftpd要上传和下载的URL (6)创建基…

    Linux干货 2016-10-15
  • Linux包管理:rpm/yum/编译安装

    rpm:安装,查询,升级,校验,卸载   Topic: 程序包 rpm管理 yum管理   程序包:   什么是程序包管理器: 将编译好的应用程序的各个组成文件打包成一个或几个程序包文件,从而更方便地实现程序包的安装、升级、卸载和查询等管理操作   程序包的组成清单: 文件清单 安装或卸载时运行的脚本 数据库(公共) …

    2017-09-14
  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10