搜文章
推荐 原创 视频 Java开发 iOS开发 前端开发 JavaScript开发 Android开发 PHP开发 数据库 开发工具 Python开发 Kotlin开发 Ruby开发 .NET开发 服务器运维 开放平台 架构师 大数据 云计算 人工智能 开发语言 其它开发
Lambda在线 > CodeSheep > 负载均衡的几种方式

负载均衡的几种方式

CodeSheep 2020-07-28


负载均衡其实就是 任务的分发,使得任务能按照你的预想分配到各个计算单元上,它能提高服务对外的性能,避免单点失效场景。这里要注意的一点是虽说叫负载均衡,但是有时候我们的分配算法就是不是均衡的。


比如配个nginx,做两台服务器的负载均衡,一台机子比较老是以前的配置比较低,一台是新机子配置高,那我们的分配权重可能就是3-7分,而不是五五开。所以是预想分配。但是业界还是习惯按照负载均衡来表达这个任务分配机制。

负载分类

负载均衡常见的有: 软件负载均衡、硬件负载均衡、DNS负载均衡。

软件负载均衡

软件负载均衡是最常见的,大小公司都需要用到它。

软件负载均衡是通过负载均衡功能的软件来实现负载均衡,常见的软件有LVS、Nginx、HAProxy

负载均衡的几种方式

Nginx是万级别的,通常只用它来做七层负载,LVS来做四层负载。LVS是十万级别的,所以如果顶不住常见的也有这样的搭配。

负载均衡的几种方式

软件负载均衡的优点在于便宜而且简单灵活,就买个主机,装下软件,配置一下就能用了,配置也很简单对于一般小型企业,或者并发量不高的企业来说就够用了。而且在高峰期时容易扩容。


缺点在于(和硬件负载均衡比)性能一般,流量很大的企业就用软件负载均衡顶不住,没防火墙或者防DDos攻击等安全性功能

硬件负载均衡

硬件负载均衡就是用一个硬件一个基础网络设备,类似我们的交换机啊这样的硬件,来实现负载均衡。常见的硬件有F5、A10。

优点就是:

1.功能强大,支持全局负载均衡提供全面的复杂均衡算法。

2.性能强悍,支持百万以上的并发。

3.提供安全功能,例如防火墙,防DDos攻击等。

这么一听我靠这么吊谁不用啊赶紧买个。别急我们下面个图片。这网上找的,价格升序了最低也得15万,高的我看到有90万的。

缺点:


1.贵!这算是它最大的缺点了。为了安全通常还得一主一备,啧啧。

2.扩展能力差,当访问量突增的时候超过限度不能动态扩容。

DNS负载均衡

这个负载均衡时通过DNS来的,因为DNS解析同一个域名可以返回不同的ip。所以例如哈尔滨的人访问百度就返回距离他近的那个机房的IP,海南的人访问百度就返回距离他近的那个机房的IP。所以主要是用来实现地理级别的负载均衡。

优点就是:

1.简单,交给DNS服务器处理咱们都不用干活

2.因为是就近访问可以减少响应的时间,提升访问速度

缺点:

1.DNS有缓存而且缓存时间较长,所以当机房迁移等需要修改DNS配置的时候,用户可能还会访问之前的IP,导致访问失败。

2.扩展能力差,因为运营商管理控制的,由不得我们定制或者扩展。

3.比较笨,不能区分服务器之间的差异,也不能反映服务器的当前运行状态

使用套路

DNS负载均衡是地理级别的,硬件负载均衡对应的是集群级别的,软件负载均衡对应的是机器级别的。


不过一般而言像小公司或者流量不大的公司都是只需要软件负载均衡,也可能LVS都不需要上所以是按实际情况删减上图的一些东西。真正公司发展起来用户量激增才会考虑多机房和上硬件,毕竟是需求的驱使和不差钱了。

版权声明:本站内容全部来自于腾讯微信公众号,属第三方自助推荐收录。《负载均衡的几种方式》的版权归原作者「CodeSheep」所有,文章言论观点不代表Lambda在线的观点, Lambda在线不承担任何法律责任。如需删除可联系QQ:516101458

文章来源: 阅读原文

相关阅读

关注CodeSheep微信公众号

CodeSheep微信公众号:CodeSheep

CodeSheep

手机扫描上方二维码即可关注CodeSheep微信公众号

CodeSheep最新文章

精品公众号随机推荐

上一篇 >>

Lua 数据类型