`
mizhihua
  • 浏览: 52103 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

转:我在淘宝这7年(二)

 
阅读更多

第二年:

做完支付宝,公司给弄了硕大的庆祝仪式,带我们一帮人去了千岛湖。玩的很爽,但我有有点不安,因为我跟这帮人混了3个月,实际上只做了3个功能,一个是创建支付宝交易的接口、一个是接收支付宝订单状态的接口、一个是绑定和解绑支付宝账号的功能,而另外的牛人们,搞出了那么巨大的一个系统,我处于深深的拜服中。半年之后,淘宝网的outing又去了千岛湖,后来另外两个项目的庆祝,也去了千岛湖,到后面我都认得那边的道路了。

 

从千岛湖回来,真正苦逼的日子开始了,我很长一段时间都在做擦屁股的工作,擦的就是支付宝系统里面的一些问题。由于支付宝和淘宝是两个独立的系统,系统之间的通信是一个大问题,而银行跟支付宝也需要通信,于是问题就经常出现:用户在银行付款了,未必能通知到支付宝,支付宝收到通知了,未必能通知到淘宝,于是用户的钱没了,淘宝的系统上却显示未付款,很让人崩溃。我和鲁肃尝试了很多种办法,一开始用MQ,但并发量上来之后老丢消息,消息的时间顺序也会错,后来他做了一个消息中间件系统,这个就是淘宝的notify的雏形,现在notify一天能发送几个亿的消息通知,能保证通知到、能保证不重复通知、能保证消息有次序,相当不容易。

 

三丰看我好像在支付宝做了很多事情,而且跟鲁肃他们合作的这么好,还以为我水平大有长进,于是在维护着支付宝接口的同时,我开始了PM(项目经理)的生涯。据说我是淘宝的第一个PM,这让我很爽,我在做PM的过程中跟SQA一起整理出了《项目管理流程》、《PM工作手册》、《系统设计模板》等等开创性的工作,有些东西沿用到了现在。但后来某一日有人提出敏捷的概念的时候,我又在反思,我是不是误导了淘宝的项目开发模式很多年?后来想想,反正当时大家都不懂,谁说的明白听谁的。

 

我的PM生涯从2005年持续到2008年,这三年又大致分为两个阶段,一个是“新手上路”阶段,自己摸索着做了【商品详情拆分】、【收藏夹改造】、【支付宝认证】几个项目;另外一个是“死去活来”阶段,做了【我的淘宝ajax版】、【招财进宝】、【淘宝旅行】,为什么死去活来,因为后面这3个项目死了2个,活了1个。

 

【商品详情拆分】是在2005年的时候开始做的,三丰说让我当项目经理,我看到经理两个字吓的半死,但后来知道项目里面就我和拖雷两个人。要做的事情非常简单,淘宝商品信息表一开始就是一张表,商品的所有信息都在这张表里面,包括商品的详情,用一个clob字段存储的。大家应该知道商品的详情是一个多么恐怖的字段,据说淘宝商品详情页面如果打印出来平均大概有5米长,当时没这么长,但也很恐怖了,跟其他信息放在一块,严重影响数据的读写性能。于是我新建一张表,存储商品详情,普通的商品查询不会用到这张表,只在商品详情(detail)页面才会用到,做完之后性能一下子好了很多,我又骄傲了很久。再后来我知道商品的详情已经不能存数据库了,放到了文件系统上。

 

【收藏夹改造】是一个稍微再大点的系统,最早淘宝的收藏夹只能收藏商品,我跟万剑、领军几个人把收藏夹改造成能收藏店铺、能收藏搜索、能把收藏的内容分类处理,当时的UI设计可能是@sharkUI 做的,看他一个像素一个像素的扣,才发现他比我们写代码的更苦逼。这个项目算是一个比较完整的项目过程了,我除了写代码,也做些计划之类的东东,所以后来就开始写项目管理的文档了。

 

【支付宝认证】是淘宝的一个创新,淘宝在成立之初就要求卖家实名认证,最早的认证方式是让用户上传身份证照片,我们去连接公安系统的网站来核对信息,核对一个要交5块钱,成本相当高。后来浅雪@面我 过来当PD了,提出了一个新的认证方式:我们认为银行里面一定有用户的身份信息,而支付宝又跟银行有合作,那就可以通过银行的用户信息来验证身份了。所以支付宝认证的原理就是:用户提交身份信息和银行账户,我们往这个账户里面打钱,打进去之后用户填写收到了多少钱(我们号称打过去的是1块钱以内的金额,实际上只有几分钱),用户填写的跟我们打出的是一致的,那这个人的身份就是对的。这不仅降低了认证的成本,也使认证的效率由原来的一周左右变成一天以内即可完成。由于我跟支付宝比较熟,又做过PM,就理所当然的做起了这个项目的PM。据说这个项目后来申请了专利,这的确是一个很大的创新。

 

这三个项目我做的很顺利,认为自己已经能称得上是项目经理了,但巨大的失败在后面等着我,由于后面那些想起来太伤心了,先写到这里吧。

从P1到P7鈥斺斘以谔员φ7年(二)


<!-- 正文结束 -->

分享到:
评论

相关推荐

    梦行Monxin多店家商城系统 PHP开源 v4.0.zip

    方便二次开发,无后顾之忧,我的商城,我做主,代码在手,权力我有 (四) 海量接口扩展 QQ登录、微信登录,支付宝支付、微信支付、物流接口.... 连接7亿网民 (五) 三级分销系统 一键铺货微信朋友圈,做千万微店的...

    基于人工智能的智慧能源管理系统解决方案.pptx

    能源管理系统6s:人工智能,玩转能源管理四大场景 工作场景一:能耗定额制定与落地 工作场景二:能耗报警实时监控与管理嵌入 工作场景三:自学习后评估诊断 工作场景四:人工智能数据质量监控 成功案例 目录 基于...

    antlr4权威指南

     一年前,我在为淘宝的一个内部数据分析系统设计DSL时,第一次接触到了ANTLR。使用ANTLR之后,我在一天之内就完成了整个编译器前端的开发工作,从而能够迅速开始处理真正的业务逻辑。从那时起,我就被它强大的功能...

    电子商务网站设计实验报告(1).doc

    据联商网资讯中心报告, 2013年淘宝成交额为1.1万亿,天猫成交额为4410亿,表明网购极大地释放了内需能量, 以电子商务为代表的新的商业模式正在以超乎想象的速度加快传统商业模式的升级和转 变。凭借其巨大的势能和...

    电子商务网站设计实验报告.doc

    阿里巴巴集团研究中心还表示,2013年阿里各平台 农产品销售额达到500亿元,并且预计2014年有望迈上1000亿台阶,这一数字相当于200 8年淘宝全网交易额。 如此好的发展前景,主要得益于我国网购平台的爆发式增长。据联...

    JAVA上百实例源码以及开源项目

    7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java...

    JAVA上百实例源码以及开源项目源代码

    7个目标文件 摘要:Java源码,初学实例,EJB调用实例  各种EJB之间的调用源码示例,用远程接口的引用访问EJB、函数将被FirstEJB调用,同时它将调用secondEJB 基于JAVA的UDP服务器模型源代码 2个目标文件 摘要:Java...

    Java范例开发大全 (源程序)

     实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87  实例64 去除重复元素 88  实例65 数组求和计算 90  实例66 求最大值、最小值和平均值 91  5.2 二维...

    电商行业调研报告.docx

    其中杭州市利用其先发优势,大力发展电子商务,在国内占有很大的比重,如其所在地的阿里巴巴公司2012年第一季度市场份额为43.1%,是中国十大B2B网站的第一名,还有淘宝商城在2011年B2C市场份额为48.5%,几乎占据了...

    java范例开发大全(pdf&源码)

    实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组 92 实例67 二维数组的...

    认识实习调研报告.docx

    光盘驱动和光盘 (一)、CD-ROM光驱 自从个人多媒体计算机标准MPC-1在1990年推出以来,用于个人计算机的只读式CD-ROM光驱已经逐步取代了传统的磁盘介质而成为新一代软件载体,而随着8倍速、10倍速、24倍速、32倍速...

    java范例开发大全源代码

     实例60 我的位置在哪里 83  实例61 复制数组 85  实例62 插入新元素 86  实例63 数组的合并 87  实例64 去除重复元素 88  实例65 数组求和计算 90  实例66 求最大值、最小值和平均值 91  5.2...

    java范例开发大全

    实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组 92 实例67 二维数组的...

    Java范例开发大全(全书源程序)

    实例60 我的位置在哪里 83 实例61 复制数组 85 实例62 插入新元素 86 实例63 数组的合并 87 实例64 去除重复元素 88 实例65 数组求和计算 90 实例66 求最大值、最小值和平均值 91 5.2 二维数组 92 实例67 ...

Global site tag (gtag.js) - Google Analytics