国家住房和城乡建设部官方网站下载百度官方网站
news/
2025/9/30 21:24:34/
文章来源:
国家住房和城乡建设部官方网站,下载百度官方网站,进入公众号是什么意思,网页制作与网站建设实战大全 pdf什么是#xff1f;为什么#xff1f;需要负载均衡
一个网站在创建初期#xff0c;一般来说都是只有一台服务器对用户提供服务 从图里可以看出#xff0c;用户经过互联网直接连接了后端服务器#xff0c;如果这台服务器什么时候突然 GG 了#xff0c;用户将无法访问这…什么是为什么需要负载均衡
一个网站在创建初期一般来说都是只有一台服务器对用户提供服务 从图里可以看出用户经过互联网直接连接了后端服务器如果这台服务器什么时候突然 GG 了用户将无法访问这个网站单点故障。
那么要怎么办呢加机器扩容不差钱 这样我们就有了很多台机器了足够应付用户的请求了。
在这里我们把用户的访问流量称为负载而根据转发策略rules将负载访问流量分配给后端机器的服务便是负载均衡 讲讲亿级PV的负载均衡架构
DNS DNS负载均衡是一种通过DNSDomain Name System解析来实现负载均衡的方法。它通过将域名解析请求分发到多个服务器上从而实现服务器资源的均衡利用和提高系统的可用性、性能和可扩展性。 在DNS负载均衡中一个域名可以对应多个IP地址每个IP地址对应一个服务器。当客户端发送一个域名解析请求时DNS服务器会返回一个IP地址给客户端使得客户端直接连接到相应的服务器。 开始呢我们的应用只有一台web-server。那么你希望: 输入http://guduyan.com就能定位到该server
那很简单只要在DNS里配上域名和你的server映射关系就能访问到啦 流程如下图所示 好现在呢多了一台web-server你就可以通过在DNS里加一条配置以DNS轮询方式进行负载均衡。如下图所示 DNS负载均衡可以使用以下几种策略 轮询Round RobinDNS服务器按照事先定义的顺序逐个返回服务器的IP地址以实现请求的均衡分发。每个请求依次分配到不同的服务器上循环往复。加权轮询Weighted Round Robin为了更精确地控制流量分配可以为每个服务器分配一个权重值。DNS服务器根据权重值的比例来决定返回哪个服务器的IP地址以实现更灵活的负载均衡。最少连接数Least ConnectionDNS服务器根据服务器当前的连接数信息选择连接数最少的服务器并返回其IP地址。这样可以将请求发送到负载较轻的服务器以实现负载均衡。基于地理位置Geolocation根据客户端的地理位置信息DNS服务器返回最接近客户端的服务器IP地址。这样可以减少网络延迟提高用户体验。 Nginx Nginx是四层均衡 Nginx是一个开源的高性能、轻量级的Web服务器和反向代理服务器它也提供了负载均衡的功能。Nginx负载均衡通过将客户端请求分发到多个后端服务器上实现服务器资源的均衡利用和提高系统的可用性、性能和可扩展性。 Nginx负载均衡的主要特点包括 反向代理Nginx作为反向代理服务器接收客户端的请求并将请求转发给后端的真实服务器。客户端只需要与Nginx进行通信而无需直接连接到后端服务器从而提高了系统的安全性。支持多种负载均衡算法Nginx提供了多种负载均衡算法包括轮询round-robin、IP哈希ip-hash、最少连接数least_conn等。这些算法可以根据实际需求选择合适的方式来分发请求。健康检查Nginx可以定期对后端服务器进行健康检查以确保只有正常工作的服务器参与请求的处理。当某个服务器发生故障或不可用时Nginx会自动将请求转发给其他可用的服务器实现故障转移和高可用性。动态配置Nginx支持动态地添加、删除和修改后端服务器的配置无需重新启动服务。这使得系统的扩展和维护更加方便和灵活。SSL终端Nginx可以作为SSL终端负责处理SSL/TLS协议的加密和解密从而减轻后端服务器的负担提高系统的性能和安全性。 DNSNginx
现在假设我们多了一些需求啊。你的系统按照功能模块拆成两个系统:用户系统和订单系统。那么你希望 输入http://guduyan.com/user/的时候定位到用户系统。输入http://guduyan.com/order/的时候定位到订单系统。
那这时候光靠DNS就不行了就需要采用DNSnginx进行负载均衡如下图所示 ps:nginx还可以做动静分离哦大家应该懂的
那如果系统的访问压力进一步加大万一nginx挂了怎么办如何给nginx引入热备 这里就要用keepalived了用两台nginx组成一个集群分别部署上keepalived设置成相同的虚IP这样一个节点在崩溃的情况下另一个节点能够自动接替其工作如下图所示 什么是keepalived LVS Lvs是七层负载 LVSLinux Virtual Server是一个基于Linux内核的开源负载均衡软件它提供了高性能、可扩展和可靠的负载均衡解决方案。LVS通过将客户端请求分发到多个后端服务器上实现服务器资源的均衡利用和提高系统的可用性、性能和可扩展性。 LVS的主要特点包括 高性能LVS利用Linux内核的IP负载均衡技术通过网络层的数据包转发来实现负载均衡具有较低的延迟和高吞吐量。可扩展性LVS支持水平扩展可以通过增加后端服务器来提高系统的容量和性能。同时LVS还支持多种负载均衡调度算法如轮询Round Robin、加权轮询Weighted Round Robin、最少连接数Least Connection等以满足不同场景的需求。高可用性LVS支持故障检测和故障转移机制当后端服务器发生故障或不可用时LVS会自动将请求转发给其他可用的服务器从而实现故障转移和高可用性。灵活的配置和管理LVS提供了灵活的配置和管理接口可以通过命令行工具或配置文件进行配置。同时LVS还支持动态添加、删除和修改后端服务器的配置无需重启服务。 LvsNginxDNS
接下来随着系统规模的继续增大你会慢慢的发现nginx也扛不住了nginx工作在网络的第7层所以它可以针对http应用本身来做分流策略比如针对域名、目录结构等。 而Lvs工作在网络4层抗负载能力强性能高能达到F5的60%对内存和CPU资源消耗比较低且稳定可靠性高。它利用linux的内核进行转发不产生流量。它能撑的并发量取决于机器的内存大小一般来说撑个几十万并发问题不大
ps:好好思考为什么会出现nginxLvs被同时使用注意看我演变的过程面试必问注意了如果是比较小的网站日pv1000万用nginx就完全可以了如果机器也不少可以用dns轮询Lvs所耗费的机器还是比较多的大型网站或者重要的服务机器不发愁的时候要多多考虑利用Lvs。
那么在这种情况下的架构图如下所示 可能有个疑问为什么nginx层不用keepalived做热备
主要原因是: 在这种架构下nginx不是单台如果nginx挂了Lvs会帮你转发到其他可用的nginx上
最后为了应对亿级的PV一般会在DNS端配多个Lvs集群的地址。如下所示 方案扩展到了这一步Lvs层就没有必要再进行扩展新的节点了。这套架构已经能扛得住亿级的PV。当然前提是你的应用没问题
四层和七层负载的区别
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/923261.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!