多台服务器如何做网络负载均衡?

多台服务器如何做网络负载均衡?,第1张

1:找分区或目录同步软件,某台服务器改动了自动把修改应用到别的服务器,比如红旗的HA。

2:换种建服务器的思路,后台用一台独立的服务器做数据库和文件服务器,用来存放数据库和上传的文件,另外的做负载均衡运行服务器,把不需要变动的网页程序放上面。

你可以试试在一台服务器做WEB和数据库,另外一台做WEB,两个WEB都连接那一个数据库,这样两个WEB内容就是同步的了,然后两台WEB间做负载,下边是我COPY的

网络负载均衡可以让客户端用一个逻辑Internet名称和虚拟IP地址(又称群集IP地址)访问群集,同时保留每台计算机各自的名称。下面,我们将在两台安装Windows Server 2003的普通计算机上,介绍网络负载均衡的实现及应用。

这两台计算机中,一台计算机名称为A,IP地址为19216807;另一台名为B,IP地址为19216808。规划网络负载均衡专用虚拟IP地址为19216809。当正式应用时,客户机只需要使用IP地址19216809来访问服务器,网络服务均衡会根据每台服务器的负载情况自动选择19216807或者19216808对外提供服务。具体实现过程如下:

在实现网络负载均衡的每一台计算机上,只能安装TCP/IP协议,不要安装任何其他的协议(如IPX协议或者NetBEUI协议),这可以从“网络连接属性”中查看。

第一步,分别以管理员身份登录A机和B机,打开两台机的“本地连接”属性界面,勾选“此连接使用下列项目”中的“负载均衡”项并进入“属性”对话框,将IP地址都设为19216809(即负载均衡专用IP),将子网掩码设置为2552552550;

第二步,分别进入A机和B机的“Internet协议(TCP/IP)”属性设置界面,点击“高级”按钮后,在弹出的“高级TCP/IP设置”界面中添加IP地址19216809和子网掩码设置为2552552550。

第三步,退出两台计算机的“本地连接属性”窗口,耐心等一会儿让系统完成设置。

以后,如果这两台服务器不能满足需求,可以按以上步骤添加第三台、第四台计算机到网络负载均衡系统中以满足要求。

用IIS服务验证网络负载均衡

网络负载均衡配置好后,为了实现某项具体的服务,需要在网络负载均衡的计算机上安装相应的服务。例如,为了实现IIS网站的负载均衡,需要在相应的网络负载均衡服务器上安装IIS服务。为了让每个用户在通过网络负载均衡访问到不同的计算机时,能够访问到一致的数据,需要在网络负载均衡的每台计算机上保持数据的一致性。举例来说,实现了两个节点的IIS的网络负载均衡,为了保证两个网站内容的一致性,除了这两个IIS服务器的配置相同外,相应的网站数据必须一致。

为了检验网络负载均衡,我们可以通过IIS来进行验证,其他的一些应用如终端服务、Windows Media服务与IIS的应用与之相类似。在其他计算机上的IE浏览器中键入19216809,根据网络的负载,网络负载均衡会自动转发到A机或B 机。为了验证效果,你可以在浏览的时候,拔掉第一台计算机的网线或拔掉第二台机器的网线,将会发现浏览到的将是不同内容。当然,我们在测试的时候,为了验证网络负载均衡的效果,把两个网站设置成不一致的内容,而在正式应用的时候,网络负载均衡群集的每个节点计算机的内容将是一致的,这样不管使用哪一个节点响应,都能保证访问的内容是一致的。

具体要看代理的后端服务是否是无状态的服务?

若无状态,即不需要使用会话保持,使用轮询策略即可。

若有状态,即需要会话保持,则需要使用基于源IP地址哈希算法,即同一IP的请求会分发之同一台后端服务器。

负载均衡有硬件设备和开源软件,除IDC机房和大公司可以承受像F5这样的昂贵物理设备,而物理设备也需要双机实现HA。

开源软件nginxhaproxylvs等配合keepalived使用也是很好的选择。

根据使用的设备或软件结合业务选择合适的调度策略即可。

负载均衡架构部分转自 58沈剑 [架构师之路]( https://mpweixinqqcom/s

负载均衡: 是分布式系统架构设计中必须考虑的因素之一,它通常是指,将请求/数据均匀分摊到多个操作单元上执行,负载均衡的关键在于均匀

常见的负载均衡方案:

客户端层到反向代理层的负载均衡,是通过“DNS轮询”实现的:DNS-server对于一个域名配置了多个解析ip,每次DNS解析请求来访问DNS-server,会轮询返回这些ip,保证每个ip的解析概率是相同的。这些ip就是nginx的外网ip,以做到每台nginx的请求分配也是均衡的。

反向代理层到站点层的负载均衡,是通过“nginx”实现的。通过修改nginxconf,可以实现多种负载均衡策略:

站点层到服务层的负载均衡,是通过“服务连接池”实现的。

上游连接池会建立与下游服务多个连接,每次请求会“随机”选取连接来访问下游服务。(也即是rpc框架实现的)

在数据量很大的情况下,由于数据层(db,cache)涉及数据的水平切分,所以数据层的负载均衡更为复杂一些,它分为“数据的均衡”,与“请求的均衡”。

数据的均衡是指 :水平切分后的每个服务(db,cache),数据量是差不多的。

请求的均衡是指 :水平切分后的每个服务(db,cache),请求量是差不多的。

(1)按照range水平切分

(2)按照id哈希水平切分

[上传中(-6b2508-1561902875888-0)]

常见的负载均衡系统包括 3 种:DNS 负载均衡、硬件负载均衡和软件负载均衡。

硬件负载均衡是通过单独的硬件设备来实现负载均衡功能,这类设备和路由器、交换机类似,可以理解为一个用于负载均衡的基础网络设备。比如业界非常出名的F5

缺点:

(1)价格实在非常昂贵

(2)扩展性不强

软件负载均衡通过负载均衡软件来实现负载均衡功能,常见的有 Nginx 和 LVS。

nginx和F5: https://blogcsdnnet/chabale/article/details/8956717

nginx和lvs比较: https://blog51ctocom/hzcto/2086691

lvs: https://wwwcnblogscom/liwei0526vip/p/6370103html

ELB: https://awsamazoncom/cn/elasticloadbalancing/

SLB: https://helpaliyuncom/product/27537html

题目:日活跃用户 1000 万的论坛的负载均衡集群,该如何设计呢?

(1)评估流量

1000万DAU,换算成秒级(一天12小时),平均约等于232。

考虑每个用户操作次数,假定10,换算成平均QPS=2320。

考虑峰值是均值倍数,假定5,换算成峰值QPS=11600。

考虑静态资源、资源、服务拆分等,流量放大效应,假定10,QPS 10=116000。

(2)容量规划

考虑高可用、异地多活,QPS 2=232000。

考虑未来半年增长,QPS15=348000。

(3)方案设计

可以用三级导流:

第一级,DNS,确定机房,以目前量级,可以不考虑。

第二级,确定集群,扩展优先,则选Haproxy/LVS,稳定优先则选F5。

第三级,Nginx+KeepAlived,确定实例。

(4)架构图

接入层技术:

缺点:

优点:

缺点:

优点:

缺点:

缺点:

nginx毕竟是软件,性能比tomcat好,但总有个上限,超出了上限,还是扛不住。lvs就不一样了,它实施在操作系统层面;f5的性能又更好了,它实施在硬件层面;它们性能比nginx好很多,例如每秒可以抗10w,这样可以利用他们来扩容。

999999%的公司到这一步基本就能解决接入层高可用、扩展性、负载均衡的问题。 假设还扛不住的话,就要考虑使用硬件设备f5等。如果还是扛不住,那么只有DNS来扩容了。

水平扩展,才是解决性能问题的根本方案,能够通过加机器扩充性能的方案才具备最好的扩展性。 facebook,google,baidu的PV是不是超过80亿呢,它们的域名只对应一个ip么,终点又是起点,还是得通过DNS轮询来进行扩容:

比如购买了阿里云或者aws。那么基本会使用云厂商提供的负载均衡中间件,比如aws(elb)、阿里云(slb)。这个负载均衡软件可以认为是 lvs+keepalived的高可用负载均衡服务

后端的service有可能部署在硬件条件不同的服务器上:

1)如果对标最低配的服务器“均匀”分摊负载,高配的服务器的利用率不足;

2)如果对标最高配的服务器“均匀”分摊负载,低配的服务器可能会扛不住;

(1)通过“静态权重”标识service的处理能力

优点: 简单,能够快速的实现异构服务器的负载均衡。

缺点: 权重是固定的,无法自适应动态调整,而很多时候,服务器的处理能力是很难用一个固定的数值量化。

(2)通过“动态权重”标识service的处理能力

提问:通过什么来标识一个service的处理能力呢?

回答:其实一个service能不能处理得过来,能不能响应得过来,应该由调用方说了算。调用服务,快速处理了,处理能力跟得上;调用服务,处理超时了,处理能力很有可能跟不上了。

动态权重设计:

例如:

(1)设置一个阈值,超过阈值直接丢弃

(2)借助“动态权重”来实施过载保护

案例策略:

1)service的负载均衡、故障转移、超时处理通常是RPC-client连接池层面来实施的

2)异构服务器负载均衡,最简单的方式是静态权重法,缺点是无法自适应动态调整

3)动态权重法,可以动态的根据service的处理能力来分配负载,需要有连接池层面的微小改动

4)过载保护,是在负载过高时,service为了保护自己,保证一定处理能力的一种自救方法

5)动态权重法,还可以用做service的过载保护

随着网站、应用访问量的增加,一台服务器租用已经不能满足应用的需求,而需要多台服务器集群,这时就会用到负载均衡,那么负载均衡优点有那些呢,壹基比小喻来说说

负载均衡设备优势

• 负载均衡优化了访问请求在服务器组之间的分配,消除了服务器之间的负载不平衡,从而提高了系统的反应速度与总体性能;

• 负载均衡可以对服务器的运行状况进行监控,及时发现运行异常的服务器,并将访问请求转移到其它可以正常工作的服务器上,从而提高服务器组的可靠性采用了负均衡器器以后,可以根据业务量的发展情况灵活增加服务器,系统的扩展能力得到提高,同时简化了管理。

负载均衡器有多种多样的形式,除了作为独立意义上的负载均衡器外,有些负载均衡器集成在交换设备中,置于服务器与Internet链接之间,有些则以两块网络适配器将这一功能集成到PC中,一块连接到Internet上,一块连接到后端服务器群的内部网络上。

一般而言,硬件负载均衡在功能、性能上优于软件方式,不过成本昂贵。当Web服务器为图像服务、SSL(安全套接层)会话或数据库事务而进行优化时,负载均衡器可以体现特别的价值。

当需要进行服务器升级或系统维护时,保证稳定的服务器退出服务以避免服务中断。当选定某台服务器要退出服务后,将不会将任何新的用户分配到该服务器。但是,它可以要该服务器完成对当前用户的服务。从而保证了无中断的优质服务,并且简化了服务器群的管理。

智能的服务器服务恢复

将重新启动的服务器应用到服务中时,避免新服务器因突然出现的流量冲击导致系统故障是非常重要的。所以,在将新服务器引入服务器群时,将逐渐地增加分配到该服务器的流量,直至达到其完全的处理能力。从而不仅保证用户在服务器退出服务时,同时还保证服务器在启动期间以及应用程序开始时,均能获得不间断服务。

负载均衡有两种含义:第一种,单个负载的运算分担到多台节点设备上做并行处理,每个节点设备处理结束后,将结果汇总,返回给用户,系统处理能力得到大幅度提高,也就是常说的集群(clustering)技术。第二种,大量的并发访问或数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,这主要针对Web服务器、FTP服务器、企业关键应用服务器等网络应用。通常,负载均衡会根据网络的不同层次(网络七层)来划分。其中,第二层的负载均衡指将多条物理链路当作一条单一的聚合逻辑链路使用,这就是链路聚合(Trunking)技术,它不是一种独立的设备,而是交换机等网络设备的常用技术。现代负载均衡技术通常操作于网络的第四层或第七层,这是针对网络应用的负载均衡技术,它完全脱离于交换机、服务器而成为独立的技术设备。

服务器实现负载均衡有软件和硬件两种方式

软件负载均衡的方式是在一台或多台服务器相应的操作系统上安装一个或多个应用软件来实现负载均衡,如DNS Load Balance,CheckPoint Firewall-1 ConnectControl等,它的优点是基于特定环境,配置简单,使用灵活,成本低廉,可以满足一般的负载均衡需求。缺点就是服务器上的软件本身就会消耗服务器系统不定量的资源,同时操作系统本身的原因,安全方面会有影响

硬件负载均衡的方法就是直接在服务器和外部网络间安装负载均衡设备,专由门的设备完成专门的任务,独立于操作系统,整体性能得到提高,加上多样化的负载均衡策略,智能化的流量管理,可达到负载均衡需求。

负载均衡具体有三种部署方式:路由模式、桥接模式、服务直接返回模式。

路由模式部署灵活,服务器的网关设置成负载均衡机的LAN口地址,且与WAN口分署不同的逻辑网络。因此所有返回的流量也都经过负载均衡。这种方式对网络的改动小,能均衡任何下行流量。

桥接模式配置简单,不改变现有网络。负载均衡的WAN口和LAN口分别连接上行设备和下行服务器。LAN口

不需要配置IP(WAN口与LAN口是桥连接),所有的服务器与负载均衡均在同一逻辑网络中。这种安装方式容错性差,网络架构缺乏弹性,对广播风暴及其他生成树协议循环相关联的错误敏感。

服务直接返回模式这种安装方式负载均衡的LAN口不使用,WAN口与服务器在同一个网络中,互联网的客户端访问负载均衡的虚IP(VIP),虚IP对应负载均衡机的WAN口,负载均衡根据策略将流量分发到服务器上,服务器直接响应客户端的请求。因此对于客户端而言,响应他的IP不是负载均衡机的虚IP(VIP),而是服务器自身的IP地址。也就是说返回的流量是不经过负载均衡的。因此这种方式适用大流量高带宽要求的服务。

负载均衡有分硬件负载和软件。

1

硬件方面,可以用F5做负载,内置几十种算法。

2

软件方面,可以使用反向代理服务器,例如apache,Nginx等高可用反向代理服务器。

利用DNSPOD智能解析的功能,就可以实现多台机器负载均衡

首先你用一台高配置的机器来当数据库服务器然后把网站的前端页面复制成多份,分别放在其他的几台机器上面再用DNSPOD做智能解析,把域名解析指向多个服务器的IP,DNSPOD默认就有智能分流的作用,也就是说当有一台机器的资源不够用时会自动引导用户访问其他机器上这是相对来讲比较简单的实现负载均衡的方法

DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
网站模板库 » 多台服务器如何做网络负载均衡?

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情