百度负载均衡BLB(Baidu Load Balance)通过将同一区域的多台百度云服务器虚拟成一个组,设置一个内网或外网的服务地址,将前端并发访问转发给后台多台云服务器,实现应用程序的流量均衡,性能上实现业务水平扩展。负载均衡还通过故障自动切换及时地消除服务的单点故障,提升服务的可用性。 BLB支持4层(TCP、UDP协议)和7层(HTTP、HTTPS协议)四种类型。BLB的4/7层负载均衡是在对后台的服务器进行负载均衡时,依据4层的信息或7层的信息来决定怎样转发流量。 TCP负责监听发送至服务地址和监听端口的TCP连接。根据转发规则挑选一台健康的后端服务器建立TCP连接,并对流量进行NAT处理。在这个过程中会有客户到和到后端服务器的两个TCP连接,后续该TCP连接的所有流量都会转发到同一台后端服务器。 HTTP是在4层协议的基础上增加应用层的特征,以HTTP请求为粒度进行转发。在这个过程中会有多个TCP连接:客户到的一个连接和到每个健康后端服务器的连接。通过这样的方式,HTTP确保每个HTTP请求能够转发至相应的后端服务器。 •TCP类型的后端服务器可以直接获得访问者真实IP,不需要单独设置。 注意:对于来自VPC内的内网访问流量,目前不支持获得真实IP。 •HTTP/HTTPS默认“获取真实IP”功能。“获取真实IP”功能后,BLB会在每个请求的Header里植入“X-Forwarded-For”字段来标识真实IP地址。 •对于4层(TCP、UDP协议),用户可以通过设置的转发规则为源IP转发规则(来自同一个客户端IP的请求始终转发给同一台后端服务器)来实现会线层(HTTP、HTTPS协议),BLB支持两种会话保持方式: •植入Cookie:推荐使用,负载均衡服务会在用户的请求中插入标识后端服务器地址的cookie项。 BLB主动检查后端服务器的运行状况,当探测到后端服务器工作异常时,自动摒弃该实例;当异常服务器恢复正常时,自动将其加入到负载均衡后端服务器列表,继续提供服务。判断后端服务器是否健康的方法有TCP请求检查和HTTP请求检查。 •TCP向服务监听配置的后端服务器端口发起TCP请求。如果端口访问正常则视为后端服务器正常,否则即为异常。 •UDP向服务器监听配置的后端服务器端口发送UDP包。如果后端接收请求并返回UDP包则视为后端服务器正常,否则即为异常。 •HTTP/HTTPS向服务监听配置的后端服务器端口发起HTTP GET请求,如果返回2xx或3xx则判断 后端云服务器运行正常,否则即为异常。 BLB提供给您负载均衡实例和后端服务器实时的一些状态信息,帮助用户了解服务的工作情况,包括: 本文来源于ipfs |