《2018年阿里巴巴大规模分布式软负载体系原理及实践.pdf》由会员分享,可在线阅读,更多相关《2018年阿里巴巴大规模分布式软负载体系原理及实践.pdf(22页珍藏版)》请在三个皮匠报告上搜索。
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
7、S(网络,主机,操作系统)DNS(bind)TengineLVS分布式数据库特殊硬件加速注册中心配置中心DNS-SD分布式协调存储&计算平台微灰度环境隔离单元化DPath中间件层精细流量规则层“服务发现”vs“软负载”(weight)ip1:port1/svc1ip2:port2/svc1ip3:port2/svc1RegistryProvideConsumeConsumeregister tell me svc1s endpoints!ip1ip1,ip2,ip3流量控制request flow ip1:port1/svc1ip2:port2/svc1ip3:port2/svc1Regist
8、ryProvideConsumeConsumeregister tell me svc1s endpoints!ip1,ip2,ip3ip1,ip2,ip3服务发现request flow 服务发现 vs 软负载(label match&selector)ip1:port1/svc1ip2:port2/svc1ip3:port2/svc1RegistryProvideConsumeConsumeregister tell me svc1s endpoints!ip1,ip2,ip3ip1,ip2,ip3服务发现request flow ip1:port1/svc1ip2:port2/svc1i
9、p3:port2/RegistryProvideConsumeConsumeregister tell me svc1s endpoints!ip1,ip2ip3动态归组request flow 软负载的基石-Label Based&Weightlabel based(metadata)weight(0.1精度)“软负载”与新技术趋势Service Mesh是client base LB 还是 server base?service mesh为何要支持权重路由?Traffic Management 的本质是什么?Kubernetes DNS-SD什么是DNS-SD?Label selector
10、Service Mesh 大规模生产应用之“阿喀琉斯之踵“-1.性能瓶颈-2.流量治理的扩展性与性能的平衡或有解决之道,但某一层必须变革user portaladminportalOPSConfigServerVIPServerMySQLDerbyETCDDisk FileCMDBGNSDiamondTaoKeeper分布式一致性(ZAB,Piv-Raft,Gossip,SW,Async-Notify,Timer-DUMP)Service DiscoveryHealth CheckDynamic DNSConfig PushIntelligent RouteTraffic MgrService
11、Meta KVServiceDistributed CoordinatorNameServerNginx/LVSLog&Stream异地多活流量调度软负载均衡服务编排弹性计算服务治理任务调度预案限流大数据计算环境隔离切库容灾泛电商体系(天猫、淘宝、菜鸟、共享业务平台、聚划算、盒马)大文娱(优酷、阿里影业、阿里音乐)搜索&广告(搜索、阿里妈妈)安全阿里云高德地图国际化(Lazada,AliExpress)REGIIDCIDCREGIONIDCIDCREGIONIDCIDC阿里巴巴开源 Nacoshttps:/ 和 Weight的注册中心Service InfraserviceService-Ce
12、ntric Architecture服务注册与发现服务共享服务协议转换服务配置管理服务聚集与集成服务元数据管理服务连接与调用服务评价系统管理服务健康管理遗留系统集成服务跨域治理服务目录管理Traffic ManagementService Managem滚动升级故障隔离服务安全策略服务弹性服务SLA管理服务拓扑依赖分析服务生命周期管理服务限流与熔断流量调度环境隔离智能路由优雅上下线负载均衡异地多活Nacos 1.0 Dubbo 4.0+Nacos 2.0-An Open Service PlatformService Integration&MarketingKubernetes生态Dubbo生态Spring 生态Nacos总结定义并介绍了软负载的概念介绍了阿里巴巴基于软负载的应用场景及技术体系介绍了服务发现到软负载的理念认知升级介绍了数据算法驱动的精细流量控制的“软负载”理念