微服务治理-负载均衡
微服务治理-负载均衡 一、介绍 1.1 什么是负载均衡 负载均衡(Load Balancing)是微服务治理中的核心能力之一,它负责在多个服务实例之间合理分配请求,提高系统吞吐能力、可用性和扩展能力 假设: User Service 只有一台服务器:10.0.0.5 随着后面业务越来越大增加服务器:10.0.0.5,10.0.0.6,10.0.0.7 … 现在应该调用哪一个? 于是出现: 负载均衡(Load Balancing) 它负责: 从多个可用实例中选择一个最合适的实例。 1.2 为什么需要负载均衡? 假设:10000 个请求全部发送:10.0.0.5 导致服务宕机 结果: 10.0.0.6, 10.0.0.7 却一直空闲 负载均衡能够平均分配 1.3 负载均衡解决什么问题? 主要包括 1.流量分摊 2.提高可用性 3.方便扩容 4. 支持灰度发布 二、原理 2.1 整个调用流程 Order Service ↓ Service Discovery ↓ Registry ↓ 返回: 10.0.0.5 10.0.0.6 10.0.0.7 ↓ Load Balance ↓ 选择: 10.0.0.6 ↓ HTTP 2.2 轮询(Round Robin) 特点: 简单 公平 实现容易 缺点: 不能反映机器性能差异。 2.3 随机 优点:...