双十一谈如何从零开始搭建大型机票交易平台
《双十一谈如何从零开始搭建大型机票交易平台》要点: 导读:从无到有构建一个大型交易平台对工程师来说是很有挑战的事情.在构建过程中会碰见各种技术或者非技术的问题,作为一个工程师又该如何处理这些问题,这是所有工程师都需要考虑的问题.知名旅游网站负责交易平台技术的小雄哥总结了自己的亲身经历,通过在高可用架构群的分享,给出了他自己的答案. 高可用架构读者大家好,先做下简单的自我介绍,我叫小雄哥,国内某大型旅游网站的开发工程师,主要负责的是交易平台的技术开发和管理. 背景介绍进公司的原因是被同学和其他高管同事拉过来凑局,成立孵化平台,当时正好缺少个技术负责搭平台,所以合伙人都是有目的性的,这点很重要. 当时的市场,仅有一个类似的对手,而我们的实力,没有技术平台,没有落地的需求,只有对机票事业部领导的承诺、模糊的想法IDEA,1个开发1个产品1个商务. 所以,大家首要目标就是:招开发、测试、商务、产品,快速落地.自然,我的任务就是:招人提升战斗力、学习业务、验证和实现idea系统落地. 所以本次分享大部分是基于这三点. 开发组织开发组织的情况 公司文化很重要,很重要,很重要. 业务负责人从内部借到异地的开发:1 个做过两年机票的,1 个酒店的,有幸得此两人帮我快速了解公司内部的技术平台. 之后,跟商务跑了家合作伙伴的公司,借到了 6 个 .net 的开发,其中 5 个人转做 Java,1 个人转去做产品,期间的借人过往就不描述了,很坎坷,非常感谢当时各位,大老远过来参与封闭开发.基本上大家都拧在了一起,这样开发资源不足的问题大致解决了,当然成本管理是公司领导考虑,这里就不细说明. 但是新问题来了,产品只有想法没出 PRD,开发这边:语言不一致,水平不一(产品和开发不具备 B 端经验)、技术团队落户深圳,人员稳定性隐患较大,人员投入困难,沟通不畅,向心力不足. 优先解决能力提升的问题,结合上图是解决的办法,是个循环渐进的过程,要坚持. 既然要做到坚持,就需要有约束有限制,以下是大家的约定. 以上内容是组织管理的大部分内容. 下边就是时间管理部分: 结合产品的想法,列出所有模块的泳道图、流程图,核对每一个状态机和操作的前驱后即. 进度汇报方面,采用的是每日晨会白板,每日早晚进度反馈群内分享,颜色标记进度等等方法. 对于预估错误和延期的处理方案是:小黑屋加班.回忆起来,上线前的几个月是没有周末的…… 需求分析阶段由于前期产品能力不足、给出好几十页的 PRD 和页面原型非常不好理解的前提下,帮助产品梳理需求,给出良好、干净的建议,也成功前期需求分解的重要工作,因为要确立开发方向,结果变成了现在的较为合理的样子. PRD 和原型转换成流程图:
转换成: 等等类似各图.模块流程的原型完了,进入状态机: 状态机是采用无向图的数据结构,根据交易流和状态流向的模拟,给予产品 case 或形态有个很好的回归. 还有我们开发最熟悉的,时序图输出: 抱着这样探索摸透的态度,我们开发梳理了这些,是为了保证模块负责人都能事前知道流程和技术功能.根据这样具体的PRD,大家均能很大的明白业务到底要做什么,流程是什么. 当然弄了这么多,缺点也很明显,就是时间长了,重构多了,这些图和表需要人维护. 推荐大家选择时序图,首先描述对象之间发送消息的时间顺序显示多个对象之间的动态协作.它可以表示用例的行为顺序,当执行一个用例行为时,时序图中的每条消息对应了一个类操作或状态机中引起转换的触发事件. 下面介绍,各大核心模块流图: 我用字母和数字的组合,代表了当时上线的路径. 约票,最简单的模块,为什么要拿出来,因为当时我们的思路是跟滴滴打车学的,有采购叫单,供应来应. 类似各模块的流图都要在前期需求分析阶段出来,且模块负责人和对应开发都要熟知. 下面介绍,数据建模: (编辑:ASP站长网) |