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

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

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

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

高性能的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倍。节省了接入机器成本,提升了业务的活动运营及防攻击能力。
DPDK版本优化,负载均衡整体性能飞跃
DPDK全称为Date plane development kit,是一个用来进行包数据处理加速的软件库。与传统的数据包处理相比,DPDK具有以下特点:
- 1) 轮询:在包处理时避免中断上下文切换的开销,
- 2) 用户态驱动:规避不必要的内存拷贝和系统调用,便于快速迭代优化
- 3) 亲和性与独占:特定任务可以被指定只在某个核上工作,避免线程在不同核间频繁切换,保证更多的cache命中
- 4) 降低访存开销:利用内存大页HUGEPAGE降低TLB miss,利用内存多通道交错访问提高内存访问有效带宽
- 5) 软件调优:cache行对齐,预取数据,多元数据批量操作
经过这样的优化后负载均衡整体的性能参数有了质的飞跃,如下图

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

腾讯会议-会议室连接器有哪些功能? 会议室连接器有哪些功能? 1. 会议室连接器介绍 近年来,视频会议越来越多的应用在人们的沟通和交流中,它既能够高效合理的利用时间、提高工作效率,又大大节省了差旅费用、减少了旅途奔波之苦。许多企业通过采购硬件视频会议系统,满足了部分需求,使远程会议得以成为现实。 从技术发展前景和满足现实应用的角度来看,云视频会议系统具有可随时随地召开,灵活、高效、易用、稳定、安全、互联互通的特点,已经成为众多企业及机构多媒体建设视频会议系统的核心部分。 为了在使用云视频会议的时候,充分利旧已有的硬件视频会议系统,腾讯会议推出了会议室连接器 MRA(Meeting Room Adapter)服务,实现腾讯会议兼容客户已经购买的 H.323/SIP 系统的功能。 2. 系统架构介绍 会议室连接器 MRA 将标准 SIP/H.323 会议设备融合到腾讯会议中,同时支持会议室连接器本地部署(VMRA)和私有化部署,实现会议室连接器 SAAS 服务和本地部署的双重模式,给客户根据项目实际情况更多的选择。 会议室连接器兼容 Polycom、思科、华为、亿联、中兴、AVAYA、中创等终端及MCU 产品,支持将标准 SIP/H.323 会议设备加入会议,支持音视频互通、内容共享、轮询、高级布局、个性布局、SIP peer、终端注册服务、手机控制器、呼叫速率控制、预留许可资源等功能,满足腾讯会议与标准 H.323、SIP 会议设备的融合互通,充分保护用户已有的投资成本。 3. 功能介绍 ⚫ 加入会议功能: 支持用户现网硬件终端硬件终端或服务器组网(MCU、信令服务器、穿越服务器等)加入腾讯会议,实现现网硬件终端(MCU)与腾讯会议终端之间音视频、双流的互通,音视频流畅,语音清楚,画面清晰。 […]
腾讯会议会-如何建设一间云视频会议室? 在企业中有各种规模的会议空间,从小型协作空间到大型会议室,培训空间等,根据这些会 议空间选择对应的解决方案,应包含以下几个部分: 1) 会议室专用的云视频应用程序 2) 主机(Windows/Mac/Android) 3) 外设设备(摄像头、麦克风、扬声器) 4) 显示设备(触摸屏、显示器、投影、小间距LED等) 5) 触摸控制器controller 或采用包含2、3、4项的All-in-One触摸一体机 或采用包含2、3项的安卓音视频Bar—体机 如何选择云视频会议室硬件 1. 如何选择主机 腾讯会议 Rooms 适用的主机有Windowss Mac OS、Android三种系统。 基于 Windows 的主机,为保证满足视频会议的流畅性能及稳定性要求,推荐采用腾讯会议 认证的主机,例如: 更多认证硬件,请访腾讯会议官网https://meeting.tencent.com/rooms-device/index.html 也可以采用性能配置符合腾讯会议推荐要求的通用型电脑主机: •软硬件最低要求: 操作系统:Window 10 1809或以上 CPU: 4核1.6Ghz或以上 内存:8G双通道(双4G) […]
腾讯会议-如何构建人性化的会议室体验? 最好的会议体验是无感知 1. 声音,会议沟通的重要基础 大大小小的会议室中,使用音视频会议系统开会时,你是否遇到过这些感受: •环境噪音太大,音视频会议的另一方无法听清你说的内容 •隔壁会议室的人说话太大声,影响到远端 •听对方的感觉沉闷单薄,影响方案展示和情绪表达 •混响太强,听对方说话就像在山洞,长时间沟通感觉很累 •多个人同时打开电脑客户端入会引起啸叫 混响时间频率参考曲线 腾 讯 会议天籁实验室深入了几百间企业会议室实地调研,调研结果发现大部分的房间噪音水平 、 混 响 时 间 都 处 于 超 标 水 平 。 经 过 咨 询 , 在 建 设 初 期 大 部 分 企 业 没 有 把 音 视 频 会 议 室 […]
腾讯会议-会议室连接器MRA本地部署 会议室连接器 MRA 部署方式-本地部署VMRA 1. 会议室连接器本地部署 VMRA 组网 ➢ DMZ 中间隔离区进行安装部署 ; ➢ 企业内网 H.323/SIP 视频会议系统呼叫本地部署的 VMRA 接入地址 IP; ➢ 本地部署 VMRA 与云端腾讯会议平台进行音视频双流互通; ➢ VMware 平台(EXSI),虚拟化部署; ➢ VMRA 支持基于 KVM 的镜像文件,方便客户可以在 KVM 的环境中部署; 腾讯会议室连接器支持本地部署 VMRA,在用户的网络要求在独立网络或信息安全要求较高的用户,可以 采用在用户侧本地部署腾讯会议的会议室连接器 VMRA。 更安全: 媒体转换过程下沉到客户本地,H.323/SIP 视频会议系统会以更安全的方式与腾讯会议公有云平台互通互联 […]
会议室连接器有哪些入会方式? 腾讯会议-会议室连接器有哪些入会方式? 1. 场景一 通过现有H.323/sip视频会议终端直接呼入腾讯会议 方法一: 直接拨打 “会议号@IP 地址” 或 “会议号**会议密码@IP 地址”加入会议 第 1 步 在设备主页选择 呼叫/拨打,进入拨号界面 第 2 步 在 拨 号 界 面 输 入 会议号@IP 地 址 或 会 议 号 ** 会 议 密 码 @IP 地 址 , 例 如 , 909672754@42.187.185.2 或 909672754**327565@42.187.185.2 您可以根据您的地理位置来选择 IP 地址 方法二: 通过拨打 “IP […]
腾讯会议会-会议室连接器 MRA 部署方式 会议室连接器 MRA 部署方式 1. 公有云 MRA–SAAS 服务 腾讯会议室连接器支持云端部署,对于用户来说,无需在用户侧增加任何硬件设备,无需专人维护,只需要用户网络满足可以访问互联网,即可使用会议室连接器服务。 购买会议室连接器服务后,用户使用现有硬件设备可以通过会议室连接器 MRA 就近接入的 IP 地址和腾讯会议号加入会议,会议室连接器支持与传统视频会议系统的 MCU 级联或是终端直接连接两种互通方式。 2. 公有云 MRA 服务流程。 1、 客户联系销售人员购买腾讯 MRA 服务,可以进行线上下单。对于首次使用 MRA 的用户,腾讯提供 MRA 测试试用服务,客户在购买前,可以联系销售人员进行测试试用。 2、 购买后,腾讯将为用户开通 MRA 服务。 3、 在开会时,硬件终端或 MCU 可以通过呼叫就近的会议室连接器接入 IP 地址和腾 讯会议的会议号加入会议中。 Posted on 2023年2月1日 callum 腾讯会议-会议室连接器介绍 腾讯会议会议室连接器 腾讯会议-会议室连接器介绍 […]
腾讯会议会议室连接器 腾讯会议-会议室连接器介绍 1. 产品简介 近年来,视频会议越来越多的应用在人们的沟通和交流中,它既能够高效合理的利用时间、提高工作效率,又大大节省了差旅费用、减少了旅途奔波之苦。许多企业通过采购硬件视频会议系统,满足了部分需求,使远程会议得以成为现实。 从技术发展前景和满足现实应用的角度来看,云视频会议系统具有可随时随地召开,灵活、高效、易用、稳定、安全、互联互通的特点,已经成为众多企业及机构多媒体建设视频会议系统的核心部分。 为了在使用云视频会议的时候,充分利旧已有的硬件视频会议系统,腾讯会议推出了会议室连接器 MRA(Meeting Room Adapter)服务,实现腾讯会议兼容客户已经购买的 H.323/SIP 系统的功能。 会议室连接器 MRA 将标准 SIP/H.323 会议设备融合到腾讯会议中,同时支持会议室连接器本地部署(VMRA)和私有化部署,实现会议室连接器 SAAS 服务和本地部署的双重模式,给客户根据项目实际情况更多的选择。 会议室连接器兼容 Polycom、思科、华为、亿联、中兴、AVAYA、中创等终端及MCU 产品,支持将标准 SIP/H.323 会议设备加入会议,支持音视频互通、内容共享、轮询、高级布局、个性布局、SIP peer、终端注册服务、手机控制器、呼叫速率控制、预留许可资源等功能,满足腾讯会议与标准 H.323、SIP 会议设备的融合互通,充分保护用户已有的投资成本。 2.功能介绍 ⚫ 加入会议功能: 支持用户现网硬件终端硬件终端或服务器组网(MCU、信令服务器、穿越服务器等)加入 […]
腾讯会议如何加强会议安全性? 腾讯会议-指导加强会议安全性? 1. 内部范围可控,安全化接入 企业账号快捷登陆 • 企微登录/SSO 可控内部权限 • 会议范围避免误发外漏 参会成员信息清晰 • 与会者名称规范• 组织架构清晰• 内外参会员一眼辩识 2. 嘉宾名单,内外结合 •内部仅企业成员入会•外部设置嘉宾手机号•嘉宾无需等候室或输入密码即可加入会议•嘉宾手机号名下账号均收到会议议程 3. 敏感会议,场外可控。 对于企业内部敏感会议,企业会服可在场外web端进行实时会议控制。 4. 会议安全,全局掌控 入会安全 强制仅允许企业成员头入会 内容安全 强制屏幕水印 禁止上传文档 成员显示标准规范 禁止昵称修改 头像修改 会议能力控制 虚拟背景 会议红包 会议文档 5. 会中安全,有效管控 多排水印,内容严防追溯 等候室,严格控制入会人员 会中权限,维护会议良好秩序 Posted […]
腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版、商业版、企业版重点能力对比 Posted on 2023年1月12日 callum 腾讯会议软件不同版本有什么区别? 腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版 […] Read More Posted on 2023年1月5日 callum 腾讯会议-会议室如何管理? 腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业账号管理? 腾讯会议如何进行企业账号如何管理? 腾讯会议应用指南-企业账号如何管理? 1. 企业账号管理1 […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业用户管理? 腾讯会议如何进行企业用户管理? 腾讯会议应用指南-企业用户如何管理? 1. 企业用户管理(iDaaS) […]
腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 ⚫ 会议室管理【会议室】可查看rooms设备的状态,可进行查看/编辑/导出设备信息。 2. 会议连接器 ⚫ 详细介绍【MRA】会议连接器的拨入方式、使用手册、支持设备型号、网络端口开放等内容 Posted on 2023年1月12日 callum 腾讯会议软件不同版本有什么区别? 腾讯会议软件不同版本有哪些区别? 腾讯会议个人版/商业版/企业版有哪些区别? 个人版 […] Read More Posted on 2023年1月5日 callum 腾讯会议-会议室如何管理? 腾讯会议-会议室如何管理? 腾讯会议应用指南-会议室如何管理? 1. 会议室管理 ⚫ […] Read More Posted on 2023年1月5日 callum 腾讯会议如何进行企业账号管理? 腾讯会议如何进行企业账号如何管理? 腾讯会议应用指南-企业账号如何管理? 1. 企业账号管理1 […] Read More Posted […]