江苏泰州海陵区建设局网站,网站建设公司用的什么后台,营销思路和创新点,wordpress cms门户主题一、集群
1.1集群的含义 Cluster#xff0c;集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。 由多台主机构成#xff0c;但对外只表现为一个整体。
1.2群集的三种类型 1.2.1负载均衡群集
LB#xff1a; Load Balancing#xff0c;负载均衡#x…一、集群
1.1集群的含义 Cluster集群、群集,为解决某个特定问题将多台计算机组合起来形成的单个系统。 由多台主机构成但对外只表现为一个整体。
1.2群集的三种类型 1.2.1负载均衡群集
LB Load Balancing负载均衡多个主机组成每个主机只承担一部分访问请求。提高应用系统的响应能力、尽可能处理更多的访问请求、减少延迟为目标获得高并发、高负载LB的整体性能。LB的负载分配依赖于主节点的分流算法。 1.2.2高可用群集
HA High Availiablity高可用避免 单点故障SPOFsingle Point Of failure。提高应用系统的可靠性、尽可能地减少中断时间为目标确保服务的连续性达到高可用HA的容错效果。HA的工作方式包括双工和主从两种模式。 1.2.3.高性能运算群集
HPC High-performance computing高性能。提高应用系统的CPU运算速度、扩展硬件资源和分析能力为目标获得相当于大型、超级计算机的高性能运算HPC能力。高性能依赖于“分布式运算”、“并行计算”通过专用硬件和软件将多个服务器的CPU、内存等资源整合在一起实现只有大型、超级计算机才具备的计算能力。
1.3LVS的负载 1.3.1.轮询Round Robin 将收到的访问请求按照顺序轮流分配给群集中的各节点 (真实服务器)。 均等地对待每台服务器而不管服务器实际的连接数和系统负载。 1.3.2.加权轮询Weighted Round Robin 根据调度器设置的权重值来分发请求。 权重值高的节点优先获得任务并且分配的请求越多。 这样可以保证性能高的节点承担更 多请求。 1.3.3.最少连接Least Connections 根据真实服务器已建立的连接数进行分配。 将收到的访问请求优先分配给连接数最少的节点。 如果所有的服务器节点性能相近采用这种方式可以更好的均衡负载。 1.3.4.加权最少连接Weighted Least Connections 在服务器节点的性能差异较大的 情况下调度器可以根据节点服务器负载自动调整权重。 权重较高的节点将承担更 大比例的活动连接负载。 1.3.5.IP-Hash 根据请求来源的IP地址进行Hash计算得到后端服务器。 这样来自同一个IP的请求总是会落到同一台服务器上处理以致于可以将请求上下文信息存储在这个服务器上。 1.3.6.url-hash 按访问url的hash结果来分配请求使每个url定向到同一个后端服务器。 后端服务器为缓存时比较有效。
1.4 群集的目的 提高性能计算密集应用。如天气预报核试验模拟。 降低成本相对百万美元的超级计算机价格便宜。 提高可扩展性只要增加集群节点即可。 增强可靠性多个节点完成相同功能避免单点失败。
1.5 负载均衡群集架构
第一层负载调度器(Load Balancer或Director) 负载均衡层 访问整个群集系统的唯一入口对外使用所有服务器共有的VIP地址也称为群集 IP地址。通常会配置主、备两台调度器实现热备份当主调度器失效以后能够平滑 替换至备用调度器确保高可用性。
第二层服务器池(Server Pool) WEB应用层 群集所提供的应用服务、由服务器池承担其中每个节点具有独立的RIP地址(真 实IP)只处理调度器分发过来的客户机请求。当某个节点暂时失效时负载调度 器的容错机制会将其隔离等待错误排除以后再重新纳入服务器池。
第三层共享存储(Share Storage) 确保多台服务器使用的是相同的资源 为服务器池中的所有节点提供稳定、一致的文件存取服务确保整个群集的统一性 共享存储可以使用NAS设备或者提供NFS共享服务的专用服务器。
因为节点服务器的资源都是由NAS或NFS提供所以NAS或NFS需要做主备、或分布式从而实现高可用。 1.6 负载均衡群集的工作模式
1、地址转换NAT模式 2、IP隧道IP-TUN 3、直接路由DR模式
1.6.1 NAT模式地址转换
Network Address Translation简称NAT模式
调度作为网关是访问请求的入口也是响应访问的出口在高并发场景中负载压力很高安全性要优于其他两 种方式。
缺点由于NAT的负载均衡器既作为用户的访问请求入口也作为节点服务器响应请求的出口承载两个方向的压力调度器的性能会成为整个集群的瓶颈。 1.6.2 TUN模式IP隧道
IP Tunnel 简称TUN模式。
仅是访问请求的入口响应数据不经过调度器但是需要大量公网IP还需要专用的IP隧道数据转发受IP隧道额外影响
缺点成本很高。 这种模式一般应用于特殊场景比如将节点服务器分布在全国各地防止被物理攻击如地震、战争等做灾备。 1.6.3 DR模式直接路由
仅是访问请求的入口响应数据不经过调度器节点服务器和调度器在一个物理网络中数据转发不受额外影响。 二、LVS虚拟服务器
2.1 LVS
inux Virtual Server负载调度器内核集成,阿里的四层SLB(Server Load Balance)是基于LVSkeepalived实现。
2.2 LVS工作原理
LVS根据请求报文的目标IP和目标协议及端口将其调度转发至某RS根据调度算法来挑选RS。LVS是内核级功能工作在INPUT链的位置将发往INPUT的流量进行“处理”。
2.3 LVS相关术语
DSDirector Server。指的是前端负载均衡器。 RSReal Server。节点服务器后端真实的工作服务器。 VIP向外部直接面向用户请求作为用户请求的目标的IP地址。 DIPDirector Server IP主要用于和内部主机通讯的IP地址。 RIPReal Server IP后端服务器的IP地址。 CIPClient IP访问客户端的IP地址。
2.4 LVS的负载调度算法
2.4.1固定调度算法rr, wrr dhsh
rr轮询算法Round Robin
将请求依次分配给不同的RS节点即RS节点中均摊分配。适合于RS所有节点处理性能接近的情况。 将收到的访问请求安装顺序轮流分配给群集指定各节点真实服务器均等地对待每一台服务器而不管服务器实际的连接数和系统负载。
wrr加权轮询调度Weighted Round Robin
依据不同RS的权重值分配任务。权重值较高的RS将优先获得任务并且分配到的连接数将比权值低的RS更多。相同权值的RS得到相同数目的连接数。 保证性能强的服务器承担更多的访问流量。 dh目的地址哈希调度destination hashing
以目的地址为关键字查找一个静态hash表来获得所需RS。
sh源地址哈希调度source hashing
以源地址为关键字查找--个静态hash表来获得需要的RS。
2.4.2 动态调度算法 wlclclblc
lc最小连接数调度 Least Connections
ipvs表存储了所有活动的连接。LB会比较将连接请求发送到当前连接最少的RS。 根据真实服务器已建立的连接数进行分配将收到的访问请求优先分配给连接数最少的节点。
wlc加权最小连接数调度Weighted Least Connections
假设各台RS的权值依次为Wi当前tcp连接数依次为Ti依次取Ti/Wi为最小的RS作为下一个分配的RS。 在服务器节点的性能差异较大时可以为真实服务器自动调整权重。 性能较高的节点将承担更大比例的活动连接负载。
三、分布式
3.1 分布式系统 分布式系统指在许多不同的服务器中部署不同的服务模块并通过远程调用协作完成特定 任务以提供服务。 一般分布式系统都会部署分布式应用程序和服务对应用程序和服务进行分层和分段然后 以分布式方式部署应用程序和服务模块到各个节点。它不仅可以提高并发访问能力而且可 以减少数据库连接和资源消耗还可以使不同的应用程序重用公共服务使业务易于扩展。
3.2 分类
分布式存储:
CephGlusterFSFastDFSMogileFS
分布式计算
hadoopSpark
分布式常见应用
分布式应用-服务按照功能拆分使用微服务分布式静态资源–静态资源放在不同的存储集群上分布式数据和存储–使用 key-value 缓存系统分布式计算–对特殊业务使用分布式计算比如 Hadoop 集群
3.3集群与分布式区别
分布式系统处理任务是平行的集群处理任务是串联的。 例如包含 100 个子任务的客户请求分别到达 10 台分布式服务系统和 10 台集群服务 系统。假设单个任务单台服务器需要 1 分钟完成。那么分布式服务器系统的每台服务器 会花费 1 分钟完成一个任务接着完成下一个任务不考虑任务之间的依赖关系。这样 10 分钟后就完成了 100 个任务而在集群系统中总是有 10 个任务被同时分配到 10 台服务器上处理接着处理后面 10 个任务这样在 10 分钟后也完成了 100 个 任务。注意在分布式中一般不会同时处理 10 个任务后又同时处理下面的 10 个任务。
集群同一个业务系统部署在多台服务器上。集群中每一台服务器实现的功能 没有差别数据和代码都是一样的分布式一个业务被拆成多个子业务或者本身就是不同的业务部署在多台服务 器上。分布式中每一台服务器实现的功能是有差别的数据和代码也是不一样的分 布式每台服务器功能加起来才是完整的业务。 一句话分布式是通过缩短单个任务的执行时间来提高效率集群是通过增加单位时间内执行的任务数量来提高效率。
例如对于大型网站访问用户很多实现一个群集在前面部署一个负载均衡服务器 后面几台服务器完成同一业务。如果有用户进行相应业务访问时负载均衡器根据后端 哪台服务器的负载情况决定由给哪一台去完成响应并且一台服务器垮了其它的服 务器可以顶上来。分布式的每一个节点都完成不 的业务如果一个节点垮了那这个 业务可能就会失败。
四、NAT模式 LVS负载均衡群集部署 LVS负载调度器ens33192.168.50.22 ens3610.0.0.1vmnet1 Web1 节点服务器1192.168.50.56 Web2 节点服务器2192.168.50.57 NFS服务器192.168.50.37 客户端虚拟机10.0.0.12 (Vmnet1)
1、部署共享存储NFS服务器192.168.50.37 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 yum install -y nfs-utils rpcbind systemctl start nfs.service systemctl enable nfs.service systemctl start rpcbind.service systemctl enable rpcbind.service mkdir /opt/lc1 /opt/lc2 chmod 777 /opt/lc1 /opt/lc2 vim /etc/exports /opt/lc1 192.168.50.0/24(rw,sync) /opt/lc2 192.168.50.0/24(rw,sync) #发布共享 exportfs -rv showmount -e 2、配置节点服务器后端服务器 192.168.50.56、192.168.50.57 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 yum install -y httpd systemctl start httpd.service systemctl enable httpd.service yum install -y nfs-utils rpcbind systemctl start rpcbind.service systemctl enable rpcbind.service showmount -e 192.168.50.37 #web1192.168.50.56 一、临时挂载 mount 192.168.50.37:/opt/lc1 /var/www/html/ echo lc is my love /var/www/html/index.html 二、永久挂载 vim /etc/fstab 192.168.50.37:/opt/lc1 /var/www/html nfs defaults 0 0 mount -a #web2192.168.50.57 mount 192.168.50.37:/opt/lc2 /var/www/html/ echo my love is lc /var/www/html/index.html vim /etc/fstab 192.168.50.37:/opt/lc2 /var/www/html nfs defaults 0 0 mount -a 3.配置负载调度器LVS ens33192.168.50.22 ens3610.0.0.1 systemctl stop firewalld.service systemctl disable firewalld.service setenforce 0 #配置SNAT转发规则 vim /etc/sysctl.conf net.ipv4.ip_forward1 sysctl -p [rootlocalhost ~]# iptables -t nat -F [rootlocalhost ~]# iptables -F [rootlocalhost ~]# iptables -t nat -nL [rootlocalhost ~]# iptables -t nat -A POSTROUTING -s 192.168.50.0/24 -o ens36 -j SNAT --to-source 10.0.0.1 [rootlocalhost network-scripts]# cp ifcfg-ens33 ifcfg-ens36 [rootlocalhost network-scripts]# vim ifcfg-ens36 [rootlocalhost network-scripts]# systemctl restart network modprobe ip_vs #手动加载ip_vs模块 cat /proc/net/ip_vs #查看ip_vs版本信息 yum install -y ipvsadm ipvsadm --save /etc/sysconfig/ipvsadm #启动服务前必须保存负载分配策略 systemctl start ipvsadm.service 配置负载分配策略NAT模式只要在服务器上配置节点服务器不需要特殊配置 ipvsadm -C #清除原有策略 ipvsadm -A -t 10.0.0.1:80 -s rr ipvsadm -a -t 10.0.0.1:80 -r 192.168.50.56:80 -m -w 1 ipvsadm -a -t 10.0.0.1:80 -r 192.168.50.57:80 -m -w 1 ipvsadm #启动策略 ipvsadm -ln #查看节点状态Masq代表 NAT模式 ipvsadm-save /etc/sysconfig/ipvsadm #保存策略 4.客户端虚拟机10.0.0.12 (Vmnet1)使用浏览器访问10.0.0.1刷新浏览器测试负载均衡
[rootlocalhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-ens33