负载均衡当中的坑

之前读没有感觉,也没有印象。当自己做了SOA,并且碰到了很多问题,再来看《分布式Java应用基础与实践》就感慨良多。现在读来,那原本不起眼的一句句,都是经验,都是血泪的教训啊。

SOA了,很多服务器提供相同的服务,要做负载均衡。一般的选择有如下几种:
1. Random
2. Round Robin(RR)
3. Weighted RR
4. Dynamic RR
5. Load
6. Least Connections
可参考F5的负载均衡方式 https://devcentral.f5.com/blogs/us/intro-to-load-balancing-for-developers-ndash-the-algorithms

前三种比较简单,也用的比较多。后几种听上去很先进,其实是有坑的。比如Load,按负载来选择服务器,当一台服务器升级后重新上线时,由于Load为0,导致刚上线就收到大量请求,相当于受到flooding攻击,轻则超时,重则宕机。在上下线这种节骨眼上,那些看上去很高级的负载均衡算法很容易导致局部不平衡而出问题。反而那些傻傻的均衡方式工作地更稳定。

你可能感兴趣的:(SOA)