• Welcome to the world's largest Chinese hacker forum

    Welcome to the world's largest Chinese hacker forum, our forum registration is open! You can now register for technical communication with us, this is a free and open to the world of the BBS, we founded the purpose for the study of network security, please don't release business of black/grey, or on the BBS posts, to seek help hacker if violations, we will permanently frozen your IP and account, thank you for your cooperation. Hacker attack and defense cracking or network Security

    business please click here: Creation Security  From CNHACKTEAM

Recommended Posts

如下内容来之https://time.geekbang.org/column/article/6463 学习笔记:

20 | 高性能负载均衡:分类及架构

负载均衡的分类常见的负载均衡系统包括三种类型:DNS负载均衡、硬件负载均衡和软件负载均衡。

  DNS 负载均衡:的DNS是最简单也是最常见的负载均衡方式,一般用来实现地域级别的均衡。比如北方的用户访问北京的机房,南方的用户访问深圳的机房。

具有简单、成本低的优点;就近参观以加快参观速度:

缺点:更新不及时:DNS缓存时间长。扩展性差:控制权在域名提供商手里。分配策略很简单:无法区分服务器之间的差异(无法根据系统和服务的状态判断负载)。

目前,  硬件负载均衡:: F5和A10有两种典型的硬件负载均衡设备。这种设备性能强,功能强大,但价格不便宜。一般只有“土豪”公司才会考虑使用这类设备;

优势:

功能强大:全面支持各级负载均衡,全面的负载均衡算法和全局负载均衡。

性能强大:相比之下,软件负载均衡支持10万并发,硬件负载均衡可以支持100万以上并发。

稳定性高:商用硬件负载均衡,通过了良好的严格测试,大规模使用后稳定性高。

安全性:除了负载均衡功能,硬件均衡设备还具有防火墙、DDoS攻击防御等安全功能。

缺点:

贵:最常见的F5是一个“马6”,好一点的是“Q7”。

扩展力差:硬件设备,可以根据业务配置,但不能扩展和定制。

  软件负载均衡:由负载均衡软件实现,包括Nginx (7第7层)和LVS(第4层)。Nginx支持HTTP和电子邮件协议。LVS是4层负载均衡,与协议无关。几乎所有的应用都能做到,比如聊天,数据库等。

软件和硬件的主要区别是性能,硬件的负载均衡性能远高于软件。

NGX的性能是10000,在一般Linux服务器上安装一个Nginx大概需要50000/s。

LVS的性能是10万,据说达到80万/秒;

F5的性能为一百万,从200万/s到800万/s不等(数据源网络,仅供参考,如需采用请根据实际业务场景进行性能测试)。

当然,软件负载均衡最大的好处就是便宜。一台普通Linux服务器的批发价在一万元左右。和F5的价格比,这就是自行车和宝马的区别。

ln203j5o2na2694.png

缺点:性能一般:一个Nginx可以支持5万左右的并发。不如硬件负载平衡强大。一般不具备防火墙、防DDoS攻击等安全功能。

结论:联合使用。具体来说,组合的基本原理是:利用DNS负载均衡实现地理层面的负载均衡;硬件负载均衡用于实现集群级负载均衡;软件负载平衡用于实现机器级负载平衡。

edtyx2uj2wi2695.png

21 |高性能负载平衡:算法

  任务平分类:负载均衡系统将接收到的任务平均分配给服务器进行处理。这里的“平均”可以是绝对数量的平均,也可以是比例或重量的平均。

    轮询 是最简单的策略,不需要关注服务器本身的状态(只要服务器在运行,运行状态就不被关注)。

    加权轮询是一种特殊的轮询,解决了不同服务器处理能力不同的问题,但也存在无法根据服务器的状态差异分配任务的问题。

根据  负载均衡类(服务器的角度):服务器的负载,不一定是通常意义上的“CPU负载”,而是当前的系统压力,CPU负载,系统压力也可以用连接数、I/O利用率、网卡吞吐量等来衡量。

    负载最低优先's算法解决了轮询算法不能感知服务器状态,的问题,代价是复杂度大大增加,

算法轮询5行代码就可以实现,而负载优先级最低的算法要1000行才能实现,甚至负载均衡系统和服务器都需要开发代码。

  性能最优类(客户端的角度):负载均衡系统根据服务器的响应时间分配任务,将新任务优先分配给响应最快的服务器。

性能优先算法本质上也是感知服务器的状态,只以响应时间这个外在标准来衡量服务器的状态。所以现有的问题类似于最低负载优先级算法,复杂度很高。

  Hash 类:负载均衡系统根据任务中的一些关键信息进行哈希运算,将具有相同哈希值的请求分配到同一个服务器上。常见的有源地址哈希、目的地址哈希、会话id哈希、用户ID哈希等等。

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now