2011-07-24 22:48:03
来 源
中存储
云存储
讲述淘宝软件基础设施的规划框架,TFS的现状及发展,OceanBase项目,MySQL优化,服务器平台优化与维护,CDN系统发展现状。

软件基础设施的规划

软件基础设施的规划


TFS

TFS


TFS的现状与发展

TAIR

TAIR


TAIR的现状与发展


•TAIR系统的主要特点
–DHT数据分布,专注高性能KV类型数据访问
–架构当前主要解决可用性和可分区性
–轻量级中心控制节点,简化架构设计
–提供双机房备份,解决数据容灾
–Json形式提供部分结构化数据访问
–支持MEM/BDB/EXT3/EXT4,提供不同性能及安全要求的数据服务


•TAIR系统在淘宝的主要应用
–作为缓存支持淘宝绝大部分应用,持久化引擎当前支持部分应用
–百台服务器,数百T存储容量,数百亿访问/天
•TAIR系统未来的发展
–灵活的配置策略,应用自定义CAP平衡
–持续提升单机性能及集群扩充能力,降低成本


OceanBase项目

•淘宝数据库系统有不少已经接近百亿条的记录
–2010年数据:历史交易记录有40多亿条,用户收藏夹记录超过60亿条,等等
–目前不断地拆分数据库,不是长远的办法


•OceanBase是海量信息存储与检索的线上系统
–千亿条级别、支持事务的表格系统
–有严格的响应时间要求,平均低于1~10ms
–系统的吞吐率要能达到1200QPS/每台
–2011.5已经在收藏夹应用中并线运行
–以后针对SSD设备做优化


MySQL优化


•提高MySQL数据库系统的整体性能
–数据增量复制,用于数据挖掘和容灾
–主从服务器并行同步
–改善日志系统,提高集群的容灾能力


•提升MySQL单机性能
–利用PCI-E Flash卡做存储cache,大幅提升性能和单表容量
–优化和改进Innodb引擎,提高锁和IO的效率


•MySQL负载均衡解决方案
–TDDL, JDBC层面
–轻量代理服务器,对客户端完全透明

服务器平台优化与维护
•适合淘宝的高性能服务器开发
–Apache/Nginx等服务器软件的定制、优化和管理
–开发与维护淘宝公用基础HTTP模块
–Squid的定制与优化
–安全策略服务器


•大规模负载均衡解决方案
–LVS的开发与维护
–HAProxy的定制与开发


•网络协议栈调优
–TCP协议优化、内核参数调优
面向Java环境的专用计算平台


•从多个层次为Java应用提供高效的底层平台
–高效的Java基础库
–Java虚拟机优化,针对Hotspots VM及Open JDK VM
–Linux操作系统层优化
–Hypervisor,Java without OS
–专用硬件


•策略:容易的先做


•目前进展
–针对特定CPU,对JVM实现所依赖的相关库进行汇编重写
–针对Intel CPU对JVM进行编译级优化
–修改JVM,实现GC Invisible Heap技术


Linux内核的优化与定制
•针对淘宝的应用负载来维护一个稳定、高效的Linux内核
–目前涉及文件系统、资源管理、网络等子系统
–与其他团队合作,针对业务系统优化性能和资源分配
–根据服务器的不同硬件配置定制Linux内核


•同Linux内核开发社区合作
–在开发、测试、缺陷修复等各方面与社区全方位合作
–包括新特性和缺陷修复等工作成果都将反馈到社区


夸父-通讯中间件
•定位:基于代理模型的组通讯中间件,淘宝和阿里巴巴集团研究院联合开发
•应用现状
–稳定应用在淘宝广告引擎系统,广告系统中的脊椎
•后续发展
–单集群数千台规模的通信能力
–持续提升通信性能


低功耗硬件平台
•低功耗硬件平台
–低功耗的CPU,如Intel ATOM, VIA Nano等
–低功耗的Chipset;SSD或低功耗的SATA硬盘
–关闭GPU和USB Controller等
•适用不需要太多CPU计算的I/O类型应用
–例如CDN Cache Server、memory cache、存储节点、静态文件Web Server等
•好处(大大降低成本):
–降低电力消耗,减少碳排放
–单位空间(机柜)下有更高的I/O吞吐率
–降低硬件购置成本和运营成本


单机柜CDN节点:网络拓扑

单机柜CDN节点:网络拓扑


单机柜CDN节点:配置与数据
•低功耗CDN节点配置
–64台低功耗服务器,单台配置:
•低功耗的CPU,4G 内存
•一块80G SSD硬盘、二块低功耗的500G SATA硬盘
•功耗25W
–两台普通服务器跑LVS
–定制的交换机
•在操作系统和应用软件层次持续优化
–针对图片流量,单机可以处理1100以上的QPS
–单节点可以处理10G以上的图片流量
–CPU先成为瓶颈,还有优化空间


淘宝CDN系统
•主要解决现有的问题
–商用产品的性能瓶颈、功能欠缺,以及不稳定性
–整个系统的规模、性能、可用性、成本和可管理性


•开发完全自主的CDN系统
–CDN节点的新架构和优化
–CDN监控平台
–全局流量调度系统支持基于节点负载状态调度和基于链路状态调度
–CDN实时图片删除
–CDN访问日志过滤系统
–配置管理平台
–针对教育网的CDN部署和BGP方案,动态网页加速

CDN系统的发展
•CDN系统的研发与运维
–支持流媒体服务
–节点间应用级路由
–持续提高节点性能(应用软件、操作系统等)
–优化GTM全局调度系统
–持续提高CDN系统可运维性,完善CDN内容管理系统


•CDN系统的建设
–部署更多的小节点,尽可能离用户近一些
–定制化和快速部署

声明: 此文观点不代表本站立场;转载须要保留原文链接;版权疑问请联系我们。