
课程咨询: 400-996-5531 / 投诉建议: 400-111-8989
认真做教育 专心促就业
我们在上文中给大家简单介绍了软件开发负载均衡的一些基础知识等内容,而本文接着来说说,实现负载均衡的算法都有哪些常见类型。
1.轮询(round-robin)
轮询为负载均衡中较为基础也较为简单的算法,它不需要配置额外参数。假设配置文件中共有台服务器,该算法遍历服务器节点列表,并按节点次序每轮选择一台服务器处理请求。当所有节点均被调用过一次后,该算法将从一个节点开始重新一轮遍历。
特点:由于该算法中每个请求按时间顺序逐一分配到不同的服务器处理,因此适用于服务器性能相近的集群情况,其中每个服务器承载相同的负载。但对于服务器性能不同的集群而言,该算法容易引发资源分配不合理等问题。
2、加权轮询
为了避免普通轮询带来的弊端,加权轮询应运而生。在加权轮询中,每个服务器会有各自的weight。一般情况下,weight的值越大意味着该服务器的性能越好,可以承载更多的请求。该算法中,客户端的请求按权值比例分配,当一个请求到达时,优先为其分配权值大的服务器。
特点:加权轮询可以应用于服务器性能不等的集群中,使资源分配更加合理化。
3.IP哈希(IPhash)
ip_hash依据发出请求的客户端IP的hash值来分配服务器,该算法可以保证同IP发出的请求映射到同一服务器,或者具有相同hash值的不同IP映射到同一服务器。
特点:该算法在一定程度上解决了集群部署环境下Session不共享的问题。
Session不共享问题是说,假设用户已经登录过,此时发出的请求被分配到了A服务器,但A服务器突然宕机,用户的请求则会被转发到B服务器。但由于Session不共享,B无法直接读取用户的登录信息来继续执行其他操作。
4、URLhash
url_hash是根据请求的URL的hash值来分配服务器。该算法的特点是,相同URL的请求会分配给固定的服务器,当存在缓存的时候,效率一般较高。
希望这辈子,最让你无悔的事情就是来达内学习!学习向来不是件易事,但无论过程多么艰难,希望你依然热爱生活,热爱学习!永远记得,达内将与你一同前行!现在扫码,立即领取万元课程礼包,助力0基础快速入行,为你梳理行业必备技能,全方位了解岗位发展前景!
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!更多内容请在707945861群中学习了解。欢迎关注“达内在线”参与分销,赚更多好礼。