一、前言

阿里巴巴在面对大并发大流量接入的时候,基于UIO等优化技术开发了自己四层负载均衡设备AGW,支持FULLNAT功能。在文章《面向C10M时代的MiddleBox之 - 高性能四层负载均衡设备AGW》中,描述了AGW的技术要点。

转载自https://blog.csdn.net/cloudvtech

二、AGW技术要点

同样,在开始阶段,阿里也是使用IPVS作为四层负载均衡解决方案,也遇到了同样的系统瓶颈,比如:

  • 中断爆炸
  • 内核协议栈路径开销太大
  • 内核对于多核的支持有限

所以他们的方案提出要解决数据包处理、系统内存使用、系统CPU使用的可扩展性,充分利用多核系统的能力。

AGW主要使用的技术如下:

  • 基于UIO的用户态网卡驱动,绕过内核协议栈
  • CPU core的隔离和绑定,AGW系统使用的core和内核使用的core进行隔离绑定
  • 使用网卡RSS技术,首发队列pin到每个core上
  • 无锁化,数据面每个 core维护自己的local session表,控制面使用poll方式定期更新控制
  • 大页内存减少TLB Miss
  • NUMA结构,将内存和NIC和NUMA节点进行绑定,避免跨NUMA节点的数据访问

但是文章同样也没有提到如何构建AGW集群;而且根据阿里分析的技术图,AGW也是基于DPDK框架开发的。

跟美团点评一样,AGW也适用FULLNAT模式的四层负载均衡技术,不同的是AGW使用syncProxy进行接入控制,提供更高的接入抗DDOS能力:

转载自https://blog.csdn.net/cloudvtech

企业级负载均衡解决方案之五:阿里四层负载均衡解决方案AGW相关推荐

  1. Gartner 企业级网络设备市场份额报告:阿里云负载均衡增速全球第一

    4月8日,Gartner发布最新的全球企业级网络设备市场份额报告,阿里云负载均衡(SLB)增速全球第一,单季度营收环比增长35.1%,远超欧美传统厂商或是云服务厂商. 负载均衡被誉为IT系统的流量管家 ...

  2. 四层负载均衡和七层负载均衡的区别

    四层负载均衡和七层负载均衡的区别 1. 四层负责均衡:是通过报文中的目标地址和端口,再加上负载均衡设备设置的服务器选择方式,决定最终选择的内部服务器与请求客户端建立TCP连接,然后发送Client请求 ...

  3. lvs工作在第几层_LVS 原理(调度算法、四种模式、四层负载均衡和七层 的区别)...

    目录 lvs的调度算法 lvs的四种模式 四层均衡负载和七层的区别 1.lvs调度算法(最常用的四种) 轮叫调度(rr) 调度器通过外部请求的顺序轮流分配到集群中的真实服务器上,对每台服务器都是均等的 ...

  4. 四层负载均衡 动静分离和资源分离 Rewrite rewrite伪静态实例

    文章目录 四层负载均衡 四层负载均衡特点 查看四层负载均衡语法 四层负载均衡配置 优化配置文件 四层负载均衡日志配置 nginx的TCP负载均衡---端口转发 动静分离 单台的动静分离 多台机器动静分 ...

  5. 负载均衡集群 [ 1 ] ---集群的认识,四层负载,七层负载 ,LVS 实现四层负载均衡

    文章目录 负载均衡集群 1.集群是什么? 2.负载均衡集群技术 3.负载均衡集群技术的实现 4.负载均衡分类 5.四层负载均衡(基于IP+端口的负载均衡) 6.七层的负载均衡(基于虚拟的URL或主机I ...

  6. Nginx四层负载均衡详解

    Nginx四层负载均衡 什么是四层负载均衡 四层负载均衡基于传输层协议包来封装的(如:TCP/IP),那我们前面使用的七层指的是应用层,它的组装在四层基础之上,无论是四层还是七层都是这是OSI网络模型 ...

  7. 负载均衡技术(一)———负载均衡技术介绍

    此文已由作者张小刚授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 本文主要是对负载均衡技术进行一个简单的介绍,并结合在实际生产环境中负载均衡技术的应用情况,让大家对负载均衡技 ...

  8. 企业级负载均衡解决方案之二:美团点评四层负载均衡解决方案MGW

    一.前言 在互联网厂商业务不断扩展之后,多种服务的入口会导致接入流量的剧增,所以多数基于IPVS或者Nginx等初级负载均衡技术的早期方案都会面临故障或者失效,所以就像google开发meglev一样 ...

  9. 企业级负载均衡解决方案之七:京东四层负载均衡解决方案ContainerLB

    一.前言 根据文章<京东商城ContainerLB实践>里面的描述,京东在2016年的时候几乎已经把他的所有业务系统转成容器模式,"线上20万+容器实例承载着数千个业务应用&qu ...

最新文章

  1. 配置防盗链、 访问控制Directory 、访问控制FilesMatch
  2. CodeForces - 760E Nikita and stack
  3. boost::hana::string_c用法的测试程序
  4. Token认证微服务
  5. Java 借助ImageMagic实现图片编辑服务
  6. oraclemt 无法启动服务_调整MT后台 解决站点压力问题
  7. WinForm实现SQLServer存储图片
  8. cjson构建_cJSON的构造和解析
  9. #java项目#《水果库存系统1.0》(java(jdbc)+mysql)
  10. android用户和AID
  11. 使用U盘制作系统盘(龙芯镜像)
  12. Interpro注释
  13. 固定资产管理系统能给行政和IT人员带来什么?
  14. Android事件总线 EventBus3.0用法学习
  15. 北航计算机学院编译技术,北航编译技术在线作业一二三
  16. 计算机组成与体系结构(一)
  17. STM32学习笔记(一)——如何下载程序到STM32单片机
  18. ARM内部大家族详解---嵌入式回归第四篇
  19. BloomFilter--理解总结
  20. BSCI—8-(1):OSPF的特殊区域类型与配置(末节与完全末节区域)

热门文章

  1. 项目实例---随机森林在Kaggle实例:Titanic中的应用(二)
  2. (最简单)小米手机5X的usb调试模式在哪里开启的流程
  3. SQL索引字段使用函数操作导致不走索引
  4. 机器学习 | LR逻辑回归模型
  5. html怎么转换内联元素,css怎么将内联元素设成块元素?
  6. Protobuf 学习(二)编译proto文件并测试
  7. Java练习15:输入某年某月某日,判断这一天是这一年的第几天?
  8. 微信消息推送神器pushplus介绍,让消息推送更简单
  9. Prompt 学习和微调综述 (Prompt Learning and Tuning)
  10. 分布式配置管理平台之Disconf使用流程