大型高并发网站的负载均衡设计通常包含以下方面:
- 硬件负载均衡器
在入口使用专业的硬件F5等负载均衡器,实现流量分发,并承担第一层保护。
- DNS轮询/一致性哈希
结合DNS,使用轮询或一致性哈希方式将请求分散到后端不同的真实服务器。
- CDN负载均衡
针对静态资源,使用CDN实现分布式缓存和负载均衡,降低源站压力。
- 软负载均衡
在服务集群内部,使用软负载均衡,根据策略路由请求到后端不同的服务器实例。
- 无状态负载均衡
尽量采用无状态的HTTP/DNS负载均衡,避免流量集中造成单点压力。
- 服务端负载均衡
对于跨机房跨地区的场景,在服务端实现负载均衡,根据用户就近原则路由流量。
- 熔断限流
对服务进行熔断限流保护,防止雪崩效应 expand/propagate。
- 弹性扩容
根据实时流量动态调整实例数量,实现弹性扩容。
综上方式,构建多个负载均衡层次,逐步分散和缓解流量,实现负载均衡。