Author:放翁(文初)
Mail:fangweng@taobao.com
围脖:http://t.sina.com.cn/fangweng(多加一个围脖,也潮一把)
接上半部分内容:
产品化
09年8月,阿里软件被多家子公司合并,我主动要求从云公司来到淘宝,因为我还有没有完成的目标,开放平台,同时也只有在这里我才会体会到产品化的含义,踏踏实实的在我30岁的时候经历一个产品,而不在存粹的技术实验室中打滚。
虽然以前和淘宝的同学一起合作走了大半年,但是进入TOP团队的时候,其实对整个团队和技术格局并不了解,所以从最基础学习,给大家打杂解决问题为先。TOP的技术氛围要比阿软好,少了“牛人”(我自己这牛脾气也希望在这一两年内完全改掉),少了抱怨,大家都有明确的目标“把开放平台做成大淘宝的基础平台”。
TOP从我进来之前就有很明确的商业目标和商业规划,这里不得不提到“黑羽”同学,一个比技术更懂业务,比业务更懂技术的产品经理。从TOP的发展方向上来就很明确的解答了我前面提到的几个问题:为什么要开放,客户群在哪里,应用形态将会怎么样?TOP与SIP不同在于,它不是一个服务集成平台,而是淘宝服务的开放平台,开放的服务都是基于淘宝基础数据和流程,开放的目的就是为了让淘宝走出自己的“一亩三分地”,由“made in taobao”转变成为“power by taobao”。TOP的客户群如下图:
淘宝越来越大,公司内部有很多部门和子公司,之间最有效的合作方式就是通过TOP平台低耦合的集成淘宝基础服务能力。同时,如何将淘宝的能力和电子商务的能力渗透到传统行业的方方面面,如何结合各种终端来展现给不同层次的用户,都需要将服务以不同的方式集成到已有的形态各异的系统或终端中。但到发展到今天的情况来看,在普通开发者这块的成长是低于预期的,这类应用现在创新力度很低,大部分人都开发收益较快,投入较少,开发维护成本较低的淘客类应用。国内的开发者真的需要多学习国外的一些Mashup的创新精神(也许是国外的API资源丰富),淘客类应用,卖家工具,其实这些应用饱和程度十分高,同质竞争激烈,最后能够给开发者带来的收益当然也很低。
系统透明化
今年我们团队的定位是服务化团队,我们需要去探索新的模式,关注新的技术发展,但是最根本的是要做好当前,服务好我们的客户,系统透明化就是服务化团队的基础。系统透明化的作用是什么,拿过去卖跌打膏的一句常说的话:“有病治病,无病防身”(没有问题的时候知道可能那些地方已经处于非正常状态或者可以找到一些瓶颈所在,在出了问题,可以迅速防止问题扩大,高效的解决问题)。对于开放平台来说,服务可用性和服务效率其实是最更本的非业务性需求,当一次请求2-3秒才会返回,请求10次有4次是不通的,那么后面的服务就算再吸引人,都很难让开发者做出吸引用户的应用。说一下我在做这块的几点收获:
1.数据为王。最初透明化的工作就是分析每天的访问日志记录,得到系统数据统计报表和业务数据统计报表。通过系统数据统计报表的结果来找到系统的瓶颈,通过业务数据报表来指导业务规划。例如分析整个服务安全校验和路由过程,最消耗时间的就在服务请求解析上,因此就考虑如何去减少服务解析带来的系统消耗:Lazy Parser通过采用流的方式分段解析参数,当发现系统参数校验失败时将不再继续分析整个Http包,减少在错误情况下由于载入全部数据带来的损耗。同时参看Jetty的Continuation的设计,学习在基于事件模式下,如何最小化连接资源分配(复用资源,带来的问题就是复杂度增加)。另一方面,发现淘客类应用对于服务的请求会反复调用多个接口来拼装成为一个完整信息,因此优化了淘客类服务,使得应用大幅度减少访问请求,减少无谓的系统压力,提高外部应用的效率。简单来说,啥都需要数据说话,最怕今天跑过来和我说我们要重构和优化了,但是又无法说出为什么这就是我们的瓶颈,优化完有啥指标可以证明有效。只有在系统透明化以后,数据能够说明一切。优化需要从全局去看,而不是局部,并行处理提高了非关键路径的性能,没有什么太大的意义。
2.按需设计,抽象分层。在最初的时候,透明化的目标通过一个单机版的报表分析器就可以完成。(一天6千万条的访问日志,3个多G的文件,系统报表3-4张,业务报表5-6张),逐渐数据量不断膨胀(一天5亿左右的访问日志,8-90个G的数据文件,系统报表和业务报表常规就有20张,还有不少零时的需求提出),因此演变成为一个多机版的报表分析器,与此同时,每日一次的分析不能满足对于业务系统即时的监控和告警,因此多机版的报表分析器,支持非静态文本数据源的方式,Slave不断主动从应用服务器端增量获取日志数据,演变成为一个即时分析系统。
但整体结构如下:
整个体系的演进只影响到任务管理组件和数据传输组件。在单机版的时候,数据传输组件不存在,都是多线程之间的任务分配和数据合并。多机版就是增加了数据传输组件,业务性统计规则引擎都采用已有的抽象设计。即时分析系统则在任务管理组件上扩展了数据源获取的方式。
首先我并没有直接去考虑多机版的实现,因为我的设计可以满足当前的需求:灵活(基于配置在运行期创建规则分析各种弱数据类型的日志),高效(任务切分,多线程并行计算分析)。最重要的是在短时间内给出了一个可用的版本,解决了当务之急。(很多时候就是要权衡时间和设计,不断的迭代产出阶段性成果,才能够降低风险,不断提升成熟度,通过反馈指导设计的方向)。其次,整个演进过程中,业务抽象设计部分一直保持较为稳定的状态,将底层的任务管理和传输不断的根据需求去扩展和优化。(这其实就是要求在设计上有分层的思想,业务领域的设计需要与非业务性需求分开考虑,便于扩展,同时降低不同层次的耦合度,增加未来多系统复用的可能性),下图是当前即时分析的一个简单的部署图:
Master的工作很简单,就列出的4步。Slave是一个纯粹的“劳动者”,根据Master给的任务去执行分析。(任务中包括了资源的来源描述,可能是静态文件系统(ftp,分布式文件系统)等,也可能是一些应用服务器。任务中也包括了分析规则引擎数据)
客户第一
今天在业务统计分析中,淘客应用占有的比例很高。为什么?开放平台需要让开发者“简单的赚钱”。“简单的赚钱”,两个词说明一切,投入少,回报高,站在开发者角度多考虑一些问题才能够指导ISV去开发出更多更有价值的应用。当前通过API来开发应用成本较高,同时周期也较长,因此针对这些问题,TOP平台有在业务创新上的一系列规划,降低应用开发者开发和维护成本,让开发者更多关注在业务创新上,而不是基础服务的使用上。如下图:
从服务的使用者和服务的提供者两方面去提升用户体验,在某些时候工具类或者辅助类的服务并不仅仅是锦上添花,它可能成为产品化成败的关键点。(细节决定成败,老生常谈),但是实际中需要去了解和体会用户的需求,一来自己就去用API开发,二来从业务分析数据上来分析不同用户群的行为和趋势。
平台要死,哪里会是致命的一击
几周以前,整个TOP的技术和业务团队的部分同学在西溪湿地开了一个会议。目的是让大家说出自己工作中的问题和难处,同时为将来的TOP发展明确方向。其中提到了整个阿里巴巴和淘宝都会找自己失败的问题所在,因为只有你自己知道了自己在什么情况下会失败,才会去改进自己的不足,避免走到无可挽回的地步。
TOP如果要死,那么什么是它的致命一击?对我来说,如果每个人心里少了产品化的理念,那么TOP就会失败。产品化意味着什么,对研发人员来说,意味着你每一个技术实现都需要清楚的理解它背后的商业需求和客户需求,在PD和运营同学提出想法的时候需要从一个客户的角度多考虑易用性,扩展性。(简单来说,不要做一个“死”写代码的,做个临时演员都要有职业素养,做一个程序员更要有程序员的“修养”)对于一个PD来说,需要协同技术团队做好产品规划,用数据来指导产品设计,用技术提升用户体验。(简单来说,除了多说,更要多听多看,开发团队也有很多同学对商业和产品有自己独到的见解)。对于运营团队来说,要将用户的声音“过滤”并“转化”,让开发和PD能够收取到更多有用的信息。
因此,TOP要死,前提是在每个人心里面“TOP”已死,我记得凤先同学一直说一句话:“每个人心中都有一个TOP。”当大家心中的“TOP”不死,产品化思想不死,那么TOP就总会有希望,因为TOP就是我们这么一群人不断奋斗的目标。
太累了,搞完代码再写blog,很多东西可以写,不过实在吃不消……,有兴趣想了解细节的同学可以直接和我联系。
相关推荐
本文档是国家开放大学答案基础写作课程形考任务1.pdf的知识点总结,主要讲解了写作中“言之有物”的概念,并解释了材料和思想两方面的因素对写作的影响。此外,还讨论了材料的选择和思想的提炼在写作中的重要性,...
《一株老树和两个怪人》是冀教版小学三年级语文上册的一篇课文,旨在通过生动的故事激发学生的学习兴趣,同时培养他们的语言理解和表达能力。这篇教案以教学目标、情感目标和能力目标为出发点,设计了丰富多样的教学...
简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化... NetBeans:全宇宙暂时排名第三的 IDE IntelliJ IDEA:全宇宙暂时排名第二的 IDE 下一代的社区系统,为未来而构建 标签:java社区 symphony
1. 教学目标设定:此教案旨在帮助三年级学生感受改革开放对城镇的影响,体验节日的欢乐气氛,同时教授15个生字及19个新词,引导学生掌握多义字的词义判断方法,运用特定词汇进行造句。 2. 语言能力培养:通过学习...
* 本节课的教学设计中,教师将课堂的发言权最大限度地交给学生,在做好充分的预设准备的前提下,敏锐抓住学生发言、交流中隐含的知识点,进而结合教材予以深入的发掘。 知识点八:任务型导向学习 * 本节课的教学...
这种开放的教学方式符合新课程标准,强调自主、合作和探究的学习方式,以及建立开放的语文课堂。学生能够联想到“出淤泥而不染”等诗句,表明他们已经开始运用已有知识进行思考。教师应当鼓励这种独立思考,提供足够...
这篇文档是关于辽宁省抚顺市2016届九年级语文下学期的教学质量检测试题,主要涵盖中学语文的各类知识点,包括诗词默写、文言文理解、阅读理解和作文等部分。 1. 积累与运用:这部分主要考察学生的基础知识,如汉字...
【标题】和【描述】提及的文件是小学六年级下册语文课内阅读材料,包含三个部分:《学弈》、《两小儿辩日》和《桃花心木》。以下是根据这些内容提炼出的相关知识点: 1. **《学弈》** - 作者:《孟子·告子上》中...
这不仅是对屈原个人的纪念,也体现了稷下学宫作为文化交流平台的重要性。 这个设计项目是对稷下学宫历史地位的肯定,同时也是一项国家级的文化工程,需要一流艺术家的参与来实现。它不仅是一个静态的建筑,更是一个...
该工具不仅能够实现端口扫描功能,还能支持TCP和UDP两种不同协议下的客户端与服务器间的通信。 #### 2. 程序的编译与开发 - **开发目的**:该网络安全扫描程序旨在帮助用户检测网络中的安全隐患,如开放端口等,并...
【四年级语文下册第五组备课教案-新人教版】这一教案主要针对小学四...整个教学过程分为两课时,每节课都有明确的教学环节和指导方法,确保学生能够全面、深入地学习和体验课文内容,从而深化对生命主题的理解和感悟。
通过对猫的不幸遭遇的反思,可以悟出生活中的诸多道理,如不应轻易下判断,要善待每一个生命,以及对未知事物保持开放和宽容的心态。 总的来说,这篇导学案旨在通过《猫》这篇课文,培养学生的阅读理解能力、分析...
通过以上分析,我们可以深入理解杜甫和韩愈两位诗人在不同时代背景下对生活的独特感悟和艺术表达,以及他们如何通过诗词传递情感和思想。这些知识点不仅涵盖了文学史上的重要人物,还涉及了诗词体裁、表达技巧、字词...
【知识点】 1. 语文基础知识: - 词语拼音与书写:题目中包含了多个词语的拼音,如“艳丽”、“苏醒”等,需要学生根据拼音正确写出对应的汉字。 - 组词:考察学生的词汇量和词义理解,如“艳”可组成“鲜艳”,...
首句“竹外桃花三两枝”,形象地展示了春意盎然的景象,竹林外稀疏的桃花开放,预示着春天的到来。第二句“春江水暖鸭先知”,通过鸭子对水温的敏感,表现出春天江水温度的升高,这是鸭子下水嬉戏的好时节。这两句诗...
在教学目标方面,有三个层次的需求: 1. 知识目标:学生需要学会读写“怒、暮”等8个生字,并能正确书写生字。 2. 能力目标:要求学生能流利、有感情地朗读课文,理解词汇含义,并学会体会课文如何用不同的表达方式...
切入点应选择在文本学习的重点、儿童认知的冲突点和课程学习的难点三者交汇的地方。此外,课堂作业的设计也应以学生为中心,提倡学习单式操作,通过精心设计的预学单、合作单、助学单和延学单,让学生完成学习后能够...
3. 实用性:该系统已在Matlab 6.1版本下开发测试,适用于工科大学物理实验数据处理的计算机辅助教学。 系统构成: 系统由两个文件组成:jy04014.m和jy04014.fig。运行环境要求为Windows 95以上版本的操作系统,以及...
第三个单元“统一多民族国家的巩固和社会危机”则聚焦于明清两朝的历史事件,通过对相关历史事实的学习,使学生感悟到中华民族反抗侵略的英勇精神。 四、教学目标和方法 教学计划明确了新课标教材的目标,包括减轻...
教学目标分为知识、能力和情感态度价值观三个层面。知识目标要求学生掌握文化创新的根本途径——社会实践,以及两个基本途径——“继承传统、推陈出新”和“面向世界、博采众长”。同时,要理解不同文化间的交流、...