阿里云金牌合作伙伴,网站建设第一品牌,互联网整合专家
佳速观点

当前位置:首页 >> 常见问题 >> 云计算时代,负载均衡如何优化才能让性能起飞?

云计算时代,负载均衡如何优化才能让性能起飞?

编辑:深圳网站建设   来源:深圳网站建设   浏览量:正在读取   时间:2016-09-28

在云计算时代,我们输出计算能力会像水和电一样方便。提到云计算时,大家可能更多会想到计算相关的云产品,比如云主机ECS、关系型数据库RDS、大数据处理平台ODPS,但其实负载均衡在云计算里面的地位是至关重要的,因为它是网络流量的入口。互联网时代,计算资源、服务器、手机、电脑、物联网设备需要网络去连在一起。云计算时代,分布式计算往往意味着一个集群里面有很多计算节点,怎么保证服务的请求会均匀分布在计算节点上面同时对外提供服务呢?这是负载均衡需要解决的一个课题。

云上的“双十一”

2015年的“双十一”第一次有阿里云参与进来,是云上的“双十一”。“双十一”的阿里云主要有以下几个部分:阿里云三大件,即云服务器、负载均衡、RDS云数据库,这三大件是云计算的基础组件。

SLB负载均衡的“双十一”提出了很多问题:如何实现快速部署?如何提供足够的性能?如何提供高可用的服务?如何提供足够的容量?

负载均衡是指通过某种负载分担技术,将外部发送来的请求均匀分配到对称结构中的某一台服务器上,而接收到请求的服务器独立地回应客户的请求。通俗的讲,就是当访问请求变多时,需要更多的服务器来响应请求、对外提供服务,这时候需要有一个负载均衡器通过一定规则把请求分发在多台服务器上,横向拓展了服务的性能。负载均衡可以通过硬件或者软件来实现,传统的负载均衡还可以通过DNS实现,但是DNS的时效性不好。

硬件负载均衡器是一个重要的角色。十年以前,负载均衡大部分是由负载均衡器来实现的,最出名的厂商是F5。负载均衡器的优点是:有专门的团队来提供开发和维护,性能比较好,相对软件负载均衡稳定可靠些。缺点是:费用昂贵,难以拓展功能和容量,灵活性差。

软件负载均衡

LVS(Linux Virtual Server)跑在网络层的第四层,TCP或者UDP这一层,它是开源的,已集成在Linux内核中,其可伸缩,可以弹性部署,非常可靠。

Nginx跑在7层网络上面,它是轻量级的Web服务器,优势在于它有很好的网络适应性,只要后端的路由器可以连通就可以通过Nginx做HTTP的负载均衡,它支持URL、正则表达式等高级逻辑,同样是开源的。

SLB其实就是基于前面介绍的LVS和Nginx来实现的,分为四层负载均衡和七层负载均衡。如图所示,访问流量会经过公网的入口,进入某个可用区,每个可用区又会有多个机房,每个机房又会有一个LVS的集群和一个Tengine的集群来实现四层负载均衡和七层负载均衡。

载均衡技术已经作为了全集团的流量入口。第一,它是弹性计算的流量入口,服务阿里云的公有云用户,涵盖了大中小型网站、游戏客户、APP服务端,还有专有云,包括金融和政府部门。第二个服务的对象是云产品,比如RDS、OSS、高防等都用到了SLB的负载均衡技术,提供云计算服务的流量入口。第三,为集团VIP统一接入平台提供负载均衡服务作为电商平台的流量入口。第四,蚂蚁金服使用负载均衡服务作为支付宝、网上银行交易平台的流量入口。

如何对负载均衡进行高性能的优化?首先是FULLNAT技术,它是LVS的一个转发模式,此优化的目的是为了摆脱开源LVS对网络部署的限制;另外的一个优化点是二层转发,LVS是Linux内核里面的一个模块,需要经过Linux传统的协议栈,性能非常低,二层转发可以通过记录MAC地址绕过Linux路由表,提升性能;第三个比较大的优化是CPU的并行化,可以让每个 CPU 并行的处理报文的转发;第四个优化是FASTPATH,完全旁路了Linux协议栈,直接将报文送到网卡,性能达到硬件线速;第五个优化是CPU指令的优化,由于FULLNAT需要对报文做一些修改,我们使用CPU专门对Crc32定制的计算指令会大大优化计算校验的性能;最后一个优化点充分利用了现在服务器NUMA的特性,NUMA是计算机的一种架构,在不同的CPU上面访问特定内存或者系统资源会比较快,通过NUMA的特性来分配本地内存可以达到很大的性能提升。



友情链接: 今日头条 阿里云金牌合作伙伴 阿里云博客 深圳阿里云服务器 深圳云指建站 长沙网站建设 深圳网站制作 和讯网博客 深圳万网空间 深圳做网站 58同城网站建设 网易博客 响应式网站建设 深圳网站建设公司 宝安做网站 深圳设计网站 百度百科 企业微博 官方博客 宝安网站建设 南山网站建设 深圳网站建设 深圳营销型网站建设 深圳品牌网站建设 深圳微信网站建设 西乡网站建设 免备案云主机 外贸网站建设
13723486509