For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
随着互联网的不断发展,越来越多的人都在学习Java编程开发等互联网技术,而本文我们就通过案例分析来简单了解一下,Java编程负载均衡算法分享。
负载均衡是指多台服务器以对称的方式组成一个服务器集群。每台服务器的地位相当(但不同的服务器可能性能不同),可以独立提供服务,无需其他服务器的辅助。为了保证系统的可扩展性,需要有一种算法能够将系统负载平均分配给集群中的每台服务器。这种算法称为负载均衡算法。负责执行负载均衡算法并平均分配请求的服务器称为负载均衡器。
随机算法
随机算法非常简单,该算法的核心是通过随机函数随机获取一个服务器进行访问。
当样本较小时,算法可能分布不均匀,但根据概率论,样本越大,负载会越均匀,而负载均衡算法本来就是为应对高并发场景而设计的。该算法的另一个缺点是所有机器都有相同的访问概率,如果服务器性能不同,负载将不平衡。
轮询算法
Round-Robin轮询算法是另一种的负载均衡算法。请求以循环的方式分发到集群中的所有服务器。
加权轮询算法
WeightedRound-Robin加权轮询算法是在round-robin算法的基础上根据服务器的性能分配权重。服务器能支持的请求越多,权重就越高,分配的请求也就越多。
该算法的核心是的动态计算currentWeight。每个服务器被选中后,currentWeight需要减去所有服务器的权重之和,这样可以避免权重高的服务器一直被选中。权重高的服务器有更多的分配请求,请求可以平均分配给所有服务器。
哈希算法
哈希算法,顾名思义,就是利用哈希表根据计算出请求的路由hashcode%N。这里hashcode代表哈希值,N代表服务器数量。该算法的优点是实现起来非常简单。
哈希算法在很多缓存分布式存储系统中很常见,比如Memorycached和Redis,但是一般不会用到上面的哈希算法,而是优化后的一致性哈希算法。
【免责声明】本文系本网编辑部分转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与管理员联系,我们会予以更改或删除相关文章,以保证您的权益!请读者仅作参考。更多内容请加抖音达内三江区域学习了解。