谈谈阿里系的技术积累 是什么让旗下网站爆发惊人能量

喧嚣的双 11 促销活动已经结束,淘宝、天猫、支付宝等阿里旗下的网站在当天爆发出惊人的能量,让人瞠目结舌:全天总交易额达到 191 亿,其中天猫132 亿,淘宝 59 亿,支付宝日订单数量超过一亿笔。金额已经超过美国去年”网购星期一”最高纪录,当然也超过今年的黑色星期五的 10.42 亿美元。尽管大淘宝在促销开始的时候服务稍有不稳定,但整天下来服务堪称可靠。这是个值得称赞的成就。 从另一个角度看数据,峰值数据是每分钟 89678 笔交易,峰值时刻一分钟超过 1700 万人民币的交易额,对比之下,eBay 披露的数据是每秒钟 2500 美元(峰值或许会更高一些)。但经此一战,可以说,阿里系在电商领域上的技术积累的确是全球独步了。

  阿里系能达到今日的技术积累,绝非一朝一夕之功,依笔者个人的看法,以下几个先决条件素不能不提:

  第一,支付宝、淘宝团队在大规模分布式事务(Transaction) 处理能力上多年来的技术积累,这份经验相当宝贵;

  第二,在 2009 年,阿里巴巴骨干传输网 ABTN (Alibaba Backbone Transmission Network) 的建成为整个阿里系子公司的网络服务能力提供了网络基础保障,这也是国内第一家运营商级别的电子商务骨干网;

  第三,以开源领域技术专家,LVS 项目创建人章文嵩先生加盟淘宝为标志,淘宝在底层基础设施上的技术能力大幅提升,章带领的基础核心软件研发团队基于 LVS 实现高性能负载均衡组件,构建了强大而且高效的 CDN 系统,CDN 系统大量采用低功耗服务器( GreenCompute.org ),绿色节能;

  第四,硬件带来的红利。固态硬盘(SSD) 与 PCI-E Flash 等硬件组件技术已经足够成熟并被大规模应用,为数据库服务器处理能力提供了硬件层面上的支撑能力,可以更加灵活部署,成本更低,不必再像过去那样单纯依赖于小型机与高端存储的支撑。

  第五, 在 2008 与 2009 年大刀阔斧的系统结构改进,比如外界所知道支付宝的 SOA 化,淘宝五彩石项目等,最近两三年仍然在做精细化的提升,但是总结架构没有太大的变动。

  第六,淘宝技术团队对运维能力的掌控与技术积累(为防止阿里云掠美,必须要说一下此事与阿里云无关,各自是独立的团队) ,具备相当灵活的分配调度硬件以及网络资源的能力。或许有人会指摘限流的问题,要知道,对系统限流的能力也是技术实力的体现,以前的几次大促活动中某银行网管因为对流量控制措施不当,直接导致核心设施不可用,造成了非常大的负面影响。

  在 2010 年与 2011 年的两次双 11 促销活动中,技术团队积累了足够的运维与运营经验,能够有针对性的进行全面准备,而且,通过过去几次”压力测试”,也促使国内银行系统对于网银网关处理能力进行了扩容与改造,否则,按照今天的交易量,各家银行网关也无法承载如此大的支付请求的冲击。

  阿里技术团队这几年来,在开源软件研发上进行了很大的技术投入,比如在 MySQL 数据库研发与部署实践上,已经能够有实力解除对 Oracle 数据库的依赖,而本次活动中,最核心的MySQL集群一天共支持了 20 亿个事务,MySQL 核心数据库顶住了每秒钟 10 万次事务、百万次 SQL 执行(不过支付宝最核心的数据库依旧是在 Oracle 数据库 上,淘宝天猫的核心库已经在 MySQL 上)的压力;在 Java 核心技术上的技术投入,针对业务特点优化定制的 JVM (TaobaoJVM) 已经在淘宝、天猫等网站上线,全部替换了 Oracle(Sun) 官方 JVM 版本,成果显著,并已经逐步反馈到开源社区中去;再比如淘宝在 Nginx 基础上改进的 Web 服务器 Tengine … 此外,淘宝根据电子商务业务自行研发的各种关键组件,比如流控与防攻击模块等,也对这次成功大促起到了很好的保障作用。技术团队在开源软件领域的投入取得了惊人的回报,现在来看,此乃相当有前瞻性的举措,值得肯定。阿里技术团队正在试图掌控整个网站体系中的所有组件的核心技术,这将是一个趋势。

  最后,技术的背后,最关键的还是人和团队。阿里巴巴数年来在电子商务技术领域领域吸引了不少业界技术专家,如王文彬,章文嵩等,造就了一批顶尖技术牛人,也培养并且储备了一大批技术人才,锻炼了一个有实战经验有战斗力的技术团队。正是这一批踏实肯干的技术人使得这一切成为可能。

  后记:或许有人说这是在神话或者神化淘宝技术团队,应该说,以上只是客观事实。国内想跟淘宝同台竞技的团队,更应该反思一下到底差距在哪里,哪些地方可以借鉴并且少走一点弯路。

  –EOF—

  此文已经刊发于《创业家》杂志 2013. 1 月刊

资源下载链接为: https://pan.quark.cn/s/22ca96b7bd39 在当今的软件开发领域,自动化构建与发布是提升开发效率和项目质量的关键环节。Jenkins Pipeline作为一种强大的自动化工具,能够有效助力Java项目的快速构建、测试及部署。本文将详细介绍如何利用Jenkins Pipeline实现Java项目的自动化构建与发布。 Jenkins Pipeline简介 Jenkins Pipeline是运行在Jenkins上的一套工作流框架,它将原本分散在单个或多个节点上独立运行的任务串联起来,实现复杂流程的编排与可视化。它是Jenkins 2.X的核心特性之一,推动了Jenkins从持续集成(CI)向持续交付(CD)及DevOps的转变。 创建Pipeline项目 要使用Jenkins Pipeline自动化构建发布Java项目,首先需要创建Pipeline项目。具体步骤如下: 登录Jenkins,点击“新建项”,选择“Pipeline”。 输入项目名称和描述,点击“确定”。 在Pipeline脚本中定义项目字典、发版脚本和预发布脚本。 编写Pipeline脚本 Pipeline脚本是Jenkins Pipeline的核心,用于定义自动化构建和发布的流程。以下是一个简单的Pipeline脚本示例: 在上述脚本中,定义了四个阶段:Checkout、Build、Push package和Deploy/Rollback。每个阶段都可以根据实际需求进行配置和调整。 通过Jenkins Pipeline自动化构建发布Java项目,可以显著提升开发效率和项目质量。借助Pipeline,我们能够轻松实现自动化构建、测试和部署,从而提高项目的整体质量和可靠性。
CSS Sprite是一种在网页中使用的优化技术,它通过将多个小图标或背景图像合并为一个大的图像,并使用CSS的background-position属性来显示其中的一小部分,从而减少HTTP请求的数量,提高网页加载速度。 以下是CSS Sprite技术的一些优点和缺点: 优点: 1. 减少HTTP请求:将多个图像合并为一个大图像后,只需一次HTTP请求就可以获取全部图像,减少了网页加载时的请求次数。 2. 提高加载速度:减少了HTTP请求的数量,可以提高网页的加载速度,特别是在拥有大量小图标或背景图像的网页上效果更明显。 3. 减少带宽消耗:合并后的大图像比多个小图像的总和要小,减少了传输的数据量,节省了带宽消耗。 4. 精灵图管理方便:通过将相关的图像合并到一张精灵图中,方便管理和维护。 缺点: 1. 图像更新麻烦:当需要更新精灵图中的某个图像时,需要重新生成整个精灵图,并且需要更新对应的CSS代码。这会增加开发和维护的复杂性。 2. 图像大小限制:合并后的精灵图尺寸有限,如果图像数量较多或图像尺寸较大,可能无法合适地放入一张图像中,导致使用多个精灵图或无法使用CSS Sprite技术。 3. 高分辨率屏幕适配:在高分辨率屏幕上,由于需要显示更高清晰度的图像,可能需要使用不同尺寸的精灵图,增加了开发和维护的复杂性。 综上所述,CSS Sprite技术可以有效地减少HTTP请求、提高网页加载速度和节省带宽消耗,但在图像更新和高分辨率屏幕适配方面可能存在一些不便和复杂性。在实际应用中,需要根据具体情况权衡使用CSS Sprite技术的利弊。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值