集群概念与优势
- 定义:计算机集群是协同工作的计算机组,通常被视为单一系统。
- 服务节点:部署了应用程序的服务器。
- 集群优势 :
- 提高性能:通过增加服务节点实现并行处理,提升整体处理能力。
- 高可用性:服务节点间相互容错,保障服务持续运行。
- 灵活拓展:根据流量需求增减服务节点,应对流量高峰。
- 降低成本:使用成本较低的标准硬件,减少资源浪费。
负载均衡概念与作用
- 定义:在多个资源中分配负载,优化资源使用,提高吞吐率,最小化响应时间,避免过载。
- 核心能力 :
- 分发请求:通过策略算法(如轮询、随机等)将请求均匀分配至不同服务器。
- 健康检查:定期检查服务状态,避免请求分发至不可用服务器。
负载均衡实现方式
- 硬件实现:使用专用设备如F5 BIG IP,性能高但成本昂贵。
- 软件实现:通过软件如Nginx,成本低且灵活,但可能存在性能瓶颈。
负载均衡算法
- 随机法:简单随机选择服务,长期公平但短期内可能不均匀。
- 加权随机法:考虑权重的随机选择,可调整但权重设置困难。
- 轮询法:顺序分发请求,公平但不考虑服务器性能和状态。
- 加权轮询法:考虑权重的轮询,可调整但同样存在权重设置问题。
- 最小连接数法:根据服务器连接数分发请求,动态调整但实现难度较高。
负载均衡软件/框架
- Nginx:支持多种负载均衡算法,灵活部署。
- Apache HTTP Server:同样支持多种算法,功能多样。
- Ribbon/Spring Cloud LoadBalancer:客户端负载均衡软件,集成服务发现与请求分发。
注意事项
- 选择负载均衡算法应根据业务场景定制。
- 除了基本算法,还有源地址哈希法、最小响应时间法、一致性哈希算法等高级算法。