《从光棍节看天猫技术架构.ppt》由会员分享,可在线阅读,更多相关《从光棍节看天猫技术架构.ppt(23页珍藏版)》请在三一办公上搜索。
1、从光棍节看天猫技术架构,龙庚2012年9月,0:01,1000万用户,0:10,2.5亿销量,0:38,10亿销量,0:70,20亿销量,2:19,30亿销量,8:00,50亿销量,13:00,100亿销量,24:00,191亿销量,增长400倍,2009年以来淘宝1111销量迅速增长了400倍,苏宁与京东的电商大战,京东自行研发核心系统,苏宁IBM+SAP,vs,京东苏宁不拼价格拼技术,传统的企业闭源套件并不一定适合新时代要求,此价一出,胜负已分!打不开网页的某些渠道,你怎么跟我拼呢?,淘宝是如何应对巨大的访问量?,淘宝技术架构演进的启示,淘宝技术架构演进的启示,淘宝技术架构演进的启示,总体
2、架构分解:按不同的业务领域、用户群来分解业务复杂性分配:将业务需求分配到各个公司、部门、系统、服务系统/服务可独立部署和维护,它们之间多采用分布式交互,业务划分(总体架构),系统架构,系统架构分解:按不同的技术层次来分解技术复杂性分配:将技术需求分配到各个中间件、容器、框架、工具组件容器/框架通过特定的技术模式来透明或半透明地解决技术问题,应用优化,局部调优(数据存取)分解:按数据的位置、读写、计算特性等分解数据存取复杂性分配:将数据分配到各个数据库、索引库、存储系统、Cache不同的存储技术适合于不同的数据存取需求,Load Balance(F5,Alteon),Apache,Jboss,D
3、atabase,Search Engine,Apache,Jboss,Apache,Jboss,Apache,Static Resource,Cache,Storage,用户请求处理,天猫技术架构特点,硬件:10万台以上的刀片机器操作系统:全部Linux,采用两层隔离机制,充分利用硬件资源数据库:数据库大量采用Mysql,目前已有上千台MySQL,新系统一律不用oracle中间件:Jboss Web,Jboss EAP开发:大量采用WebX,Spring,OSGI,Ibatis,缓存,两级缓存策略,内存Memcache,内存+磁盘缓存Redis高性能技术:全文检索、HSF、调度中心、大规模缓存
4、高可靠性、稳定性:实时监控:Hbase/OCeanBase海量存储秒计刷新的监控数据,淘宝在杭州有6个同城灾备机房,包括的应用、数据灾备;异地灾备:青岛定期灾备演练:每半个月进行机房down机演练突击灾备演练:在不通知开发人员情况下,突然对整个机房断电,检查服务是否正常能运行,警告、短信通知是否正常报警;,硬件隔离策略,两层隔离:第一层用虚拟机器,第二层用Linux Cgroup进程隔离单片机一台隔成几台,例如一台40G内存的机器,对web可以隔离为每个应用8G,利于GVM管理,内存更加有效,超大压力降级策略,降级服务策略,性能测试主要是对单机容量进行测试大压力预演:针对上千个应用进行预演,将
5、F5压力全部给到一台机器到极限,计算其最大访问量,从而得出最大容量测试采用1:1线上真实用户压力测试,隔离生产关键路径分析:隔离策略,一个应用一个应用停,压力测试策略,HSF:用于应用之间互相调用,上万个服务,应用只需要知道对方的接口名即可以进行调用,实现了实时、分布式;调度中心:类似于UDDI,存储所有的服务注册,主动推送给调用方;配置中心:集中所有配置长连接监控:通过心跳方式,实时监控服务器状态,服务调度策略,P4平台:根据压力自动查询可服务机器数,达到上限前报警自动伸缩部署:某些服务压力过大,可人工干预,自动从配置中心下载war、配置进行自动部署配置中心:运行期需要的数据库链接、服务地址、图片存储的位置等统一存储和配置;,服务调度弹性负载策略,大规模使用缓存和索引技术;服务同时将业务数据写入缓存和数据库搜索查询采用全文检索,来自于Yahoo团队搜索引擎;业务详细数据采用缓存存储两级缓存:Memcache内存、Redis内存+磁盘缓存,新系统逐步采用Redis技术替换Memcache技术,缓存与索引查询策略,淘宝在杭州有6个同城灾备机房,包括的应用、数据灾备;异地灾备:青岛定期灾备演练:每半个月进行机房down机演练突击灾备演练:在不通知开发人员情况下,突然对整个机房断电,检查服务是否正常能运行,警告、短信通知是否正常报警;,灾难演练策略,感谢聆听,敬请批评指正!,