1、阿里巴巴大规模分布式软负载体系原理及实践什么是软负载微服务应用架构趋势与软负载阿里巴巴9年双11中的软负载实践软负载技术架构原理阿里巴巴开源中间层软负载均衡产品 Nacos什么是“硬负载”?四层七层软件硬件硬负载 是指传统的企业级技术架构中在流量控制侧偏重于使用硬件负载均衡器、偏重于四层负载均衡、偏重于集中的网关代理模式,偏重于Server-Based Load Balance的一系列的实践方法。防火墙 DMZOrganiza(ons,DMZ?7层反向代理集群nginx/apache/haproxy动静分离分流和路由4层硬件负载均衡f5/lvs,路由器,网络NAT内部网关负载均衡器 F5 LV
2、S“硬负载”面临的产业趋势挑战偏4层负载均衡流量的不确定性,需要弹性和灵活性IDC内部的机器之间的流量也很大关注负载均衡器的功能的可扩展性网关单点难以消除,故障恢复慢流量的精细控制,四层负载均衡难以理解业务语义必须关注成本关注整个负载体系的可运维性,可操作性,可管理性互联网DevOps云计算软负载偏重于7层负载均衡软件定义流量均衡策略理解业务语义的流量调拨数据和算法驱动的精细流量控制策略扩展性和灵活性可操作性万物皆“服务”以服务为中心的现代应用架构趋势serviceService-Centric Architecture微服务的基石-服务发现与注册中心 优势 侵入小 易集中管控 劣势 网关式,
3、有单点 成本高基于服务端负载均衡 例子 Nginx LVS Maglev 优势 无单点 随应用自然伸缩 成本低 劣势 侵入大 难集中管控 例子 DNS Ribbon&Eureka Service Mesh基于客户端端负载均衡Client BasedServer Based图片来自 microservices.io阿里巴巴9年双11中的软负载实践统一接入线上动态隔离环境微灰度单元化及异地多活流量调度统一接入动静分离https加速&证书管理入口流量的限流黑灰流量清洗,安全防攻击智能流量转发策略(用户特征洞察)逻辑分流与容灾支持链路追踪IAAS统一接入(Tengine)中间层负载均衡统一接入统一接入
4、(Tengine)购物车交易商品支付购物车交易商品支付PC无线IoT动态隔离环境真实生产环境统一接入层中间层负载均衡(Mid-Tier LoadBalancer)压测流量真实生产流量线上压测服务分组生产服务分组支持动态、逻辑隔离动态环境vs静态环境根据需求动态生成某个环境成本低逻辑隔离 vs 物理隔离逻辑隔离更灵活符合弹性等需求测试环境(Test)预生产环境(Stage)生产环境(Production)微灰度create 微灰度1 规则-3%流量-label-1A/B Testingcreate 微灰度1 规则-10%流量-label-2 灰度效率问题 后端测试难 上下游依赖链路复杂,新测试环
5、境部署困难 线上数据和链路状态难以仿真 链路局部创新和优化难 敏捷创新和试错 低成本扩展多套环境 对业务0侵入的灰度测试环境和手段 线上真实流量 方法 链路染色 权重路由和流量控制 链路冲突检测 资源占用审核 容量管理单元化及异地多活CDN中间层负载均衡中间层负载均衡统一接入层区域单元 A区域单元 B区域单元 C统一接入&中间层负载均衡识别用户特征识别流量区域特征识别IDC分布拓扑结构支持流量权重控制识别切流&容灾规则中间层负载均衡流量调度Metrics 数据收集根据需求动态生成某个环境成本低时序数据存储时序和时空数据库数据分析&算法时序和时空数据库全局自动决策降权重定点控制迁移下线阈值保护,
6、防雪崩基于数据和算法驱动的自动决策,精细的流量调度中间层负载均衡整体架构原理系统打通中间层负载均衡与CMD中间层负载均衡与API Gateway配置中心与流量规则基础中间件与中间层负载均衡中间层负载均衡与业务应用理解业务流量cookie,path,paramheader机房拓扑全栈metrics从网络,操作系统,tomcat,缓存,RPC,业务都要暴露合适的状态数据强大的中间层负载均衡大规模数据分发和推送能力数据驱动数据中心状态数据实时性保障大数据(计算平台)人工+智能的决策不断改进算法机器学习方法CMDBmetricsRPC消息分布式缓存统一接入全局流量调度(数据驱动)业务流量资源调度IAA