高并发系统学习 Day1 负载均衡

您所在的位置:网站首页 ribbon是什么意思啊 高并发系统学习 Day1 负载均衡

高并发系统学习 Day1 负载均衡

#高并发系统学习 Day1 负载均衡| 来源: 网络整理| 查看: 265

负载均衡服务器的种类: 负载均衡的含义是:将负载(访问的请求)“均衡”地分配到多个处理节点上。这样可以减少单个处理节点的请求量,提升整体系统的性能。 负载均衡服务大体上可以分为两大类:一类是代理类的负载均衡服务;另一类是客户端负载均衡服务。 在项目的架构中,我们一般会同时部署 LVS 和 Nginx 来做 HTTP 应用服务的负载均衡。也就是说,在入口处部署 LVS 将流量分发到多个 Nginx 服务器上,再由 Nginx 服务器分发到应用服务器上,为什么这么做呢?主要和 LVS 和 Nginx 的特点有关,LVS 是在网络栈的四层做请求包的转发,请求包转发之后,由客户端和后端服务直接建立连接,后续的响应包不会再经过 LVS 服务器,所以相比 Nginx 性能会更高,也能够承担更高的并发。 可 LVS 缺陷是工作在四层,而请求的 URL 是七层的概念,不能针对 URL 做更细致的请求分发,而且 LVS 也没有提供探测后端服务是否存活的机制;而 Nginx 虽然比 LVS 的性能差很多,但也可以承担每秒几万次的请求,并且它在配置上更加灵活,还可以感知后端服务是否出现问题。因此,LVS 适合在入口处承担大流量的请求分发,而 Nginx 要部署在业务服务器之前做更细维度的请求分发。我给你的建议是,如果你的 QPS 在十万以内,那么可以考虑不引入 LVS 而直接使用 Nginx 作为唯一的负载均衡服务器,这样少维护一个组件,也会减少系统的维护成本。 客户端负载均衡器,它一般和客户端应用部署在一个进程中,提供多种选择节点的策略,最终为客户端应用提供一个最佳的、可用的服务端节点。这类服务一般会结合注册中心来使用,注册中心提供服务节点的完整列表,客户端拿到列表之后使用负载均衡服务的策略选取一个合适的节点,然后将请求发到这个节点上。 常见的负载均衡策略有哪些: 一类是静态策略,也就是说负载均衡服务器在选择服务节点时,不会参考后端服务的实际运行的状态; 一类是动态策略,也就是说负载均衡服务器会依据后端服务的一些负载特性,来决定要选择哪一个服务节点。 常见的静态策略有几种,其中使用最广泛的是轮询的策略(RoundRobin,RR),这种策略会记录上次请求后端服务的地址或者序号,然后在请求时按照服务列表的顺序,请求下一个后端服务节点。还有就是带有权重的轮询策略。除了这两种策略之外,目前开源的负载均衡服务还提供了很多静态策略:Nginx 提供了 ip_hash 和 url_hash 算法;LVS 提供了按照请求的源地址和目的地址做 Hash 的策略;Dubbo 也提供了随机选取策略以及一致性 Hash 的策略。除了这两种策略之外,目前开源的负载均衡服务还提供了很多静态策略: Nginx 提供了 ip_hash 和 url_hash 算法; LVS 提供了按照请求的源地址和目的地址做 Hash 的策略; Dubbo 也提供了随机选取策略以及一致性 Hash 的策略。

此文章为6月Day1学习笔记,内容来源于极客时间《高并发系统设计 40 问》



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3