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的知识点总结,主要讲解了写作中“言之有物”的概念,并解释了材料和思想两方面的因素对写作的影响。此外,还讨论了材料的选择和思想的提炼在写作中的重要性,...
西师大版三年级语文下册教材中的“古诗两首1教案”为我们提供了一个系统的教学模型,它详尽地展示了如何引导学生学习和欣赏古诗,以及如何在教学过程中实施多样化的教学方法。 首先,在导入阶段,教师需要通过生动...
简介 Symphony([ˈsɪmfəni],n.交响乐)是一个现代化... NetBeans:全宇宙暂时排名第三的 IDE IntelliJ IDEA:全宇宙暂时排名第二的 IDE 下一代的社区系统,为未来而构建 标签:java社区 symphony
《放风筝》这一课,作为教学内容的载体,以其生动的情境和丰富的想象空间,为教师提供了绝佳的施教平台。 首先,教案将教学目标分为三个层面:认知、情感和能力。认知层面要求学生掌握新字词,并理解课文内容;情感...
* 本节课的教学设计中,教师将课堂的发言权最大限度地交给学生,在做好充分的预设准备的前提下,敏锐抓住学生发言、交流中隐含的知识点,进而结合教材予以深入的发掘。 知识点八:任务型导向学习 * 本节课的教学...
其次,让学生学习并掌握课文中出现的12/11个生字,理解这些生字组成的词语,并能用“康复”和“意外”这两个词语造句。生字和词语的学习是语文教学的基础,有助于学生在阅读中准确理解词义,丰富语言表达。最后,...
特别是“三两枝”的表述,既形象地描绘出桃花稀疏开放的景象,又给人一种春意盎然、新生命初露锋芒之感。 诗的第二句“春江水暖鸭先知”是苏轼诗中的经典之笔。在这里,诗人用鸭子对水温变化的敏感反应,巧妙地传达...
在课堂的最后,学生学习第四自然段,感悟时间变迁下美丽的不变,并认识到“美丽”不仅仅是视觉的享受,更是人文精神的体现。课堂以学生有感情地朗读全文和分享阅读感受结束,这不仅是对课文学习成果的检验,也是对...
综上所述,北师大版四年级语文下册第三单元试卷不仅涵盖了大量的语文知识点,更重要的是,它以一种富有创意和实用的方式,引导学生全面提升自己的语文素养。试卷的每一部分都旨在帮助学生搭建起坚实的语文基础,锻炼...
在新的学期里,三年级学生将通过学习“节日的大街”这篇课文,深入理解改革开放给城镇带来的繁荣景象,体会节日的热闹与欢乐,同时加强语文基础知识的学习和语言表达能力的提升。本文结合浙教版的教学教案,详细阐述...
这种开放的教学方式符合新课程标准,强调自主、合作和探究的学习方式,以及建立开放的语文课堂。学生能够联想到“出淤泥而不染”等诗句,表明他们已经开始运用已有知识进行思考。教师应当鼓励这种独立思考,提供足够...
【标题】和【描述】提及的文件是小学六年级下册语文课内阅读材料,包含三个部分:《学弈》、《两小儿辩日》和《桃花心木》。以下是根据这些内容提炼出的相关知识点: 1. **《学弈》** - 作者:《孟子·告子上》中...
这不仅是对屈原个人的纪念,也体现了稷下学宫作为文化交流平台的重要性。 这个设计项目是对稷下学宫历史地位的肯定,同时也是一项国家级的文化工程,需要一流艺术家的参与来实现。它不仅是一个静态的建筑,更是一个...
在三年级语文上册的学习旅程中,学生们将遇到《古诗两首》这一单元,这一单元精选了两首在中国文学史上享有盛誉的古诗词——《望天门山》和《饮湖上初晴后雨》。这两首作品不仅呈现了古代文人对自然山水的独到感悟,...
该工具不仅能够实现端口扫描功能,还能支持TCP和UDP两种不同协议下的客户端与服务器间的通信。 #### 2. 程序的编译与开发 - **开发目的**:该网络安全扫描程序旨在帮助用户检测网络中的安全隐患,如开放端口等,并...
我们遵循“知识与能力”、“过程与方法”、“情感态度与价值观”三维目标的指导,通过精心设计的教案,旨在让学生在学习语言的同时,深入理解文本内容,提升阅读理解能力,强化语言表达技能,更重要的是感悟文本中...
【四年级语文下册第五组备课教案-新人教版】这一教案主要针对小学四...整个教学过程分为两课时,每节课都有明确的教学环节和指导方法,确保学生能够全面、深入地学习和体验课文内容,从而深化对生命主题的理解和感悟。
《一株老树和两个怪人》是冀教版小学三年级语文上册的一篇课文,通过对这篇课文的教学设计,我们可以看到冀教版在教学理念上的一个缩影。本文将详细介绍教学目标、情感目标、能力目标,并对整个教学过程进行解析。 ...
通过对猫的不幸遭遇的反思,可以悟出生活中的诸多道理,如不应轻易下判断,要善待每一个生命,以及对未知事物保持开放和宽容的心态。 总的来说,这篇导学案旨在通过《猫》这篇课文,培养学生的阅读理解能力、分析...
其中,第7题的开放性题目尤为重要,它不仅能够检验学生对知识点的掌握,更重要的是鼓励学生展现自身的思维能力和语言表达能力。第8题的诗词名句默写则更为直观地展示了学生对古代诗词的记忆和理解程度。 阅读理解...