发布时间:2021-02-07 13:00:00
垂直分离(分层后分离):分离和部署业务流程的不同部分,以实现系统的可伸缩性。
横向分离(业务分离后的分离):分离和部署不同的业务模块,以实现系统的可扩展性。
不同功能的独立部署可以实现一定程度的可扩展性,但随着网站访问量的不断增加,即使独立部署到小粒度,单个服务器也不能满足业务规模的要求。因此,有必要使用服务器集群,即将相同的服务部署在多状态服务器上,形成一个集群来提供服务。
这种负载平衡方案的优点是相对简单。缺点是浏览器需要两个服务器请求才能完成一次访问,性能较差:重定向服务器本身的处理能力可能成为瓶颈,整个集群的可扩展性有限;使用HTTP 302响应码重定向可以使搜索引擎判断为SEO,降低搜索排名。
一种使用DNS同时处理域名解析请求和负载平衡的方案。在DNS服务器中配置多个a记录,例如:每个域名解析请求都会根据负载均衡算法计算不同的IP地址返回,使一个记录中配置的多个服务器形成一个集群,实现负载均衡。
DNS域名解析负载平衡的优势:将负载均衡的工作转移到DNS上,省去了网站管理和维护的麻烦。同时,许多DNS服务器还支持基于地理位置的域名解析,即域名解析到接近用户地理位置的服务器地址,可以加快用户访问速度,提高性能。DNS域名解析负载平衡的缺点:
大多数反向代理服务器都提供反向代理和负载平衡功能。
反向代理服务器的优点是部署简单。缺点是反向代理服务器是所有请求和响应的中继站,其性能可能成为瓶颈。
IP负载均衡完成了内核中的数据分发,因此处理性能优于反向代理负载均衡。但是,由于所有请求和响应都必须通过负载平衡服务器,因此集群的响应数据吞吐量受到负载平衡服务器网卡带宽的限制。
数据链路层负载均衡是指通过修改通信协议数据链路层的MAC地址来实现负载均衡。
这种模式也称为三角传输模式。在负载均衡数据分发过程中,不修改IP地址,只修改目的MAC地址。通过配置真实物理服务器群集中所有机器的虚拟IP地址和负载平衡服务器的IP地址相同,这样就可以在不修改数据包的源地址和目标地址的情况下分发数据。由于实际请求是真的,实际物理服务器IP与数据请求的目的IP相同,因此响应包可以直接返回到用户浏览器中,而无需通过负载均衡服务器进行地址转换,从而避免了负载均衡服务器网卡带宽的瓶颈。这种加载模式也称为直接路由模式。
Linux平台上的链路层负载平衡开源产品是LVS(Linux虚拟服务器)。
负载均衡服务器的实现分为两部分:根据负载均衡算法和web服务器列表,计算集群中web服务器的地址。将请求数据发送到与地址对应的web服务器。负载平衡算法一般如下:
循环-所有请求依次分发到每个应用服务器,也就是说,每个服务器需要处理相同的请求数据,这适用于所有服务器硬件都相同的场景。加权循环(Weighted round robin)-根据服务器硬件的性能,在轮询的基础上,根据配置权重将请求分配给每台服务器,高性能服务器可以分配更多的请求。随机请求被随机分配给每个应用服务器。在很多情况下,该方案简单实用,因为好的随机数非常平均,即使应用服务器硬件配置不同,也可以使用加权随机算法。少连接-记录每个应用程序服务器正在处理的连接数,并将新到达的请求分发到连接少的服务器。应该说,这是算法定义的负载均衡。源地址哈希(Source hash)-根据请求源的IP地址执行哈希计算,以获取应用程序服务器。这样,来自同一IP地址的请求总是在同一台服务器上处理。请求的上下文信息可以存储在此服务器上,并在会话周期中重用,以实现会话粘性。
搜骐网络 地址:浙江省杭州市文一西路1217号IT公园11幢1611室 电话:0571-88730320 联系人:刘经理
CopyRight © 2015-2020 souqii.com 备案号:浙ICP备15036601号-1 公安网络安全备案号:浙公网安备 33011002012960号