负载均衡

早期的互联网,只需要一台高可配的服务器,就可以满足需求。但是这种会带来一个问题,如果同时有很多用户试图访问服务器,超过了其能处理的极限,就会出现加载速度特别缓慢或根本无法连接的情况。或者服务器宕机的话,所有的用户都没办法访问服务器。

单体架构

因此就引入了负载均衡概念。当一台机子宕机或者不健康的时候,会转发当前的请求到其他服务器上。保证服务是可以正常访问。

集群

常见的负载均衡有三种实现

  • 基于DNS实现
  • 基于硬件实现
  • 基于软件实现

基于DNS实现负载均衡

针对某个域名做多个IP的映射。当用户访问域名的时候,首先会通过dns的解析,随机给用户分配一个ip地址。DNS是最简单的,无需要做额外的开发。但是有dns的缓存策略,会导致修改DNS配置的时候,导致的IP变更不及时。

image.png

硬件的负载均衡

有一台性能特别高的交换机,可以处理百万级请求。它可以支持不同的复杂均衡算法,配置。这种一般成本比较高,常用于政府,银行等机构。F5设备。

软件负载均衡

目前大部分的互联网企业使用的方法。免费而且都是开源,可以支持二次开发,不同企业对负载均衡的需求都不一样,可以根据需求,来开发配置负载均衡的特性。常见入 Nginx,LVS ,HAProxy。

负载均衡算法

负载均衡算法决定了后端的哪些健康服务器会被选中。几个常用的算法:

  • Round Robin(轮询):为第一个请求选择列表中的第一个服务器,然后按顺序向下移动列表直到结尾,然后循环。
  • Least Connections(最小连接):优先选择连接数最少的服务器,在普遍会话较长的情况下推荐使用。
  • Source:根据请求源的 IP 的散列(hash)来选择要转发的服务器。这种方式可以一定程度上保证特定用户能连接到相同的服务器。
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容