毕尔巴鄂对阵皇家社会:两支近邻球队将于西甲联赛 “巴斯克德比”中为捍卫荣耀而战贝壳第三季度营收226亿元 经调净利润17.8 亿元 同比下降17.46%AI营销,让科技巨头尝到了大模型商业化的甜头安恒信息范渊在乌镇峰会谈AI:以工具视之、以工具用之、以工具治理之诺基亚与微软再合作,为 Azure 数据中心供货延长五年天岳先进发布业界首款 300mm(12 英寸)N 型碳化硅衬底三星介绍内部安全团队 Project Infinity 攻防演练项目,高效修复 Galaxy 手机平板漏洞上海市将推进低空飞行服务管理能力建设,2027 年底前累计划设相应航线不少于 400 条岁末,海尔给您备好一套“小红花”为什么说Q10K Pro是今年最值得入手的电视?看完这几点就明白了!“小墨方·大不凡”!Brother“小墨方”系列彩喷一体机全新上市黄仁勋:AI智能需求强劲,“物理定律”限制英伟达芯片增长诺基亚与微软再合作,为Azure数据中心供货延长五年国家数据局:到2029年基本建成国家数据基础设施主体结构中国已发展成为全球最大的互联网市场,拥有全球最多的网民和移动互联网用户中国铁塔:计划按照10:1的比例合股美国FCC正式划定5.9GHz频段用于C-V2X技术在AI领域奋起直追!苹果要对Siri大革新 2026年正式发布日本机构公布量子专利榜单:本源量子、国盾量子位居全球第1中国联通:拟向华为、中兴展开5G网络设备竞争性谈判采购
  • 首页 > 延展阅读 > 2017归档

    强大核心功能矩阵,详解腾讯云负载均衡CLB高可靠高性能背后架构

    2018年03月22日 15:02:49   来源:飞象网

      1 前言腾讯云负载均衡(Cloud LoadBalancer),简称CLB, 负载均衡通过设置虚拟服务地址(VIP)将来自客户端的请求按照指定方式分发到其关联的多台后端云服务器,服务器将请求的响应返回给负载均衡器,负载均衡再将响应发送到用户,这样就向互联网用户隐藏了内网结构,阻止了用户直接访问后端云服务器,使得服务器更加安全,可以阻止对核心网络栈和运行在其它端口服务的攻击。通过其作用可以看出负载均衡作为整个服务的网关入口,那么保证其服务在高性能的前提下既稳定又可靠显得至关重要。本文为大家介绍一下腾讯云公网负载均衡高可靠,高性能的背后做了哪些事。

      2 腾讯云负载均衡基础架构 2.1 多级容灾的架构,实现高可靠首先对负载均衡对流量转发有个大致的认识,如图1客户端发起请求来访问负载均衡提供的公网VIP,CLB再根据指定的方式通过内网转发给后端的服务器。

      在CLB的技术架构图出来前,大家可以想象一下,对于转发设备最关键的要有交换机和路由器,以及真正的转发机器,那么交换机和路由器如何部署才能有更高的可靠性呢,转发机器以怎样的结构组合才能带来高性能呢,简单的串行网络架构必然存在单点故障,其作为关键路径在出现故障时,对整个服务来讲是致命的,所以多交换机部署,转发机器集群方式部署势在必行。如图2左所示,在单机房得交换机和转发机器的部署情况如下,其中LD为转发机器,以下4台机器为一个集群,从图中可以看到,当某个设备发生故障,通过OSPF路由协议来快速侦测故障设备,进而秒级剔除相关设备,一个集群中多个LD对长连接进行同步,当其中LD挂了之后,请求落在另外一台LD上,对于用户来讲请求还是无损。从架构上也可以看出交换机层面的容灾,而不同的交换机部署在不同的机架位,实现了机架层面的容灾,当LD发生故障时,快速剔除故障转发机器,并能够自动添加备用的机器,快速的补齐性能损耗。

      从单机房的介绍来看,还未有多机房的容灾能力,该能力对于云厂商来讲也是必不可少的,IDC A 和IDC B会配置相同的VIP等相关信息,BGP A 和BGP B出口通过配置不同的COST 值来确定主备,当某个IDC 出现了故障,那么自动调整COST值进行切换,可以在秒级实现不同IDC间容灾能力。以上即为多级容灾的架构。

      从架构上实现了高可靠。

      2.1 数据流转发方式,满足多种网络结构公网负载均衡当前支持的协议主要有TCP、UDP、HTTP、HTTPS,对于四层和七层的协议,转发的方式和结构不一样,腾讯云的云主机从之前的基础网络逐步向私有网络过渡,为了满足多种网络结构,CLB的数据转发方式如图3所示:

      对于HTTP、HTTPS协议的支持情况,四层集群下面还会有一层七层集群,基于NGINX开源项目来做的七层转发,具体与后端CVM的通信方式一致,对于物理网络的机器,转发到母机的数据包格式是IPIP包,经母机上的KO进行解包,并将解封的IP包转给后端的CVM,对于私有网络的CVM,封包格式为GRE包,对应的母机上依赖于VPC.KO来解包,从CVM上可以观察到收到的IP包的中SourceIP 段无论是四层还是七层都是真实的来源IP,其实就是在封包的时候,将真实的客户端IP封装到了IPIP包或者GRE包中,从而满足用户获取真实来源IP的诉求。

      3 五大关键功能 3.1 强大过载保护功能,保证数据整体安全当前集群本身的性能在未引入DPDK版本之前 ,单机的可以达到160万PPS,连接数1.2个亿,入带宽可以到达10Gbps,当真实数据超过最大能力之后,为了不发生雪崩故障,集群的自我保护能力就显得极为重要,最小程度上减小对客户带来的影响。如图,内核中的管理模块tvsadm会周期的去拉取统计数据,当全局统计数据接近了警戒高水位(后台配置例如不能超过最大性能的70%),那么此时就会开启QOS能力,给规则设定一个配额,然后根据令牌桶算法进行配额限速,将整理的数据保持在安全范围之内,直到整体数据趋于安全。

      3.2 抗DDoS大规模攻击,强力保护后端安全当有大量synflood攻击时,由于后端母机的连接池资源有限制,而且后端CVM本身的性能也不固定,所以在有大量DDoS攻击时不能直接透传给后端服务器,此时CLB会暂时代理TCP连接,知道三次握手真正完成客户端发来数据后,才与后端CVM进行真正的交互。

      而CLB本身资源也是有限制的,此时就不能全部代理半连接的握手,具体方式即通过LRU淘汰机制来实现半连接队列的维护。可能有一个疑问,当有更大量的DDoS攻击来了之后,将如何应对呢?这个时候公司级抗DDoS攻击平台此时就会大显身手了,大禹系统,对DDoS攻击进行识别清洗,当过大对平台造成影响时会封堵该VIP。维护半连接队列的算法流程如下图所示:

      3.3 高性能的HTTPS,提升活动运营及防攻击能力 HTTPS为什么访问比较慢为什么消耗CPU呢?因为它很重,HTTPS的重,体现在如下几方面:

      1. 大量的计算。SSL的每一个字节都涉及到较为复杂的计算。

      2. TLS协议的封装和解析。HTTPS所有数据都是按照TLS record格式进行封装的。所有的数据都需要经过如下步骤才能发送和读取:

      3. 协议的网络交互。从TLS的握手过程可以看出,即使这个过程不需要进行任何计算,TLS的握手也需要至少1个以上的网络交互。

      HTTPS在计算方面的影响,包括计算原理和计算性能的优化。总体来说,HTTPS主要有如下计算环节:a.非对称密钥交换。比如RSA, Diffie-Hellman, ECDHE.这类算法的主要作用就是根据客户端和服务端不对称的信息,经过高强度的密钥生成算法,生成对称密钥,用于加解密后续应用消息。  b.对称加解密。服务端使用密钥A对响应内容进行加密,客户端使用密钥A对该加密内容进行解密。反之亦然。c.消息一致性验证。每一段加密的内容都会附加一个MAC消息,即消息认证码。简单地说就是对内容进行的安全哈希计算。接收方需要校验MAC码。d.证书签名校验。这个阶段主要发生在客户端校验服务端证书身份时。

      HTTPS协议中最消耗CPU计算资源的就是密钥交换过程中的RSA计算。也是我们优化的最主要对象。具体方式a. 算法分离。将最消耗CPU计算的过程分离出来,不使用本地CPU来计算。b.并行计算。使用SSL硬件加速卡或者空闲CPU并行计算,提升计算效率。c.异步代理。算法分离和计算的过程是异步的,不需要同步等待SSL加速计算的结果返回。

      通过异步代理完成RSA的私钥计算。ssl完全握手性能由18000qps提升到了63000qps,提升了~3.5倍。节省了接入机器成本,提升了业务的活动运营及防攻击能力。

      3.4 DPDK版本优化,负载均衡整体性能飞跃 DPDK全称为Date plane development kit,是一个用来进行包数据处理加速的软件库。与传统的数据包处理相比,DPDK具有以下特点:

      1) 轮询:在包处理时避免中断上下文切换的开销,

      2) 用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化

      3) 亲和性与独占:特定任务可以被指定只在某个核上工作,避免线程在不同核间频繁切换,保证更多的cache命中

      4) 降低访存开销:利用内存大页HUGEPAGE降低TLB miss,利用内存多通道交错访问提高内存访问有效带宽

      5) 软件调优:cache行对齐,预取数据,多元数据批量操作

      经过这样的优化后负载均衡整体的性能参数有了质的飞跃,如下图

      3.5与腾讯天御合作,实现百万级黑名单功能

      某公司接入腾讯云,其中一个需求是防恶意刷票,对恶意用户的请求进行屏蔽,其业务架构如图:请求从cdn节点到负载均衡后,真实的客户端IP会在HTTP协议的头部中携带,此时负载均衡从七层协议的头部中获取真实客户端IP,进而实施拦截。对于一个规则来讲,负载均衡的设置黑名单的数量级在百万级别,通过与腾讯天御系统合作,后端CVM拿到真实客户端IP后,转给天御,天御系统进行模型训练,判断ip是否是恶意请求,进而将黑名单写入负载均衡,从而实现百万级黑名单的功能。

      4 总结本文介绍了腾讯云负载均衡的高可靠、高性能的背后一些技术细节,在满足用户需求的基础上提供更加让用户满意的负载均衡是团队一直不变的信念。后续提供更多的技术细节与大家分享。

      文章内容仅供阅读,不构成投资建议,请谨慎对待。投资者据此操作,风险自担。

    [编号: ]
    分享到微信

    即时

    新闻

    明火炊具市场:三季度健康属性贯穿全类目

    奥维云网(AVC)推总数据显示,2024年1-9月明火炊具线上零售额94.2亿元,同比增加3.1%,其中抖音渠道表现优异,同比有14%的涨幅,传统电商略有下滑,同比降低2.3%。

    企业IT

    重庆创新公积金应用,“区块链+政务服务”显成效

    “以前都要去窗口办,一套流程下来都要半个月了,现在方便多了!”打开“重庆公积金”微信小程序,按照提示流程提交相关材料,仅几秒钟,重庆市民曾某的账户就打进了21600元。

    3C消费

    华硕ProArt创艺27 Pro PA279CRV显示器,高能实力,创

    华硕ProArt创艺27 Pro PA279CRV显示器,凭借其优秀的性能配置和精准的色彩呈现能力,为您的创作工作带来实质性的帮助,双十一期间低至2799元,性价比很高,简直是创作者们的首选。

    研究

    中国信通院罗松:深度解读《工业互联网标识解析体系

    9月14日,2024全球工业互联网大会——工业互联网标识解析专题论坛在沈阳成功举办。