卧槽,躺在床上,忽然意识到,今天忘了交作业了!
拿出手机一看,还好,还有半个小时!
最近主要工作,其实是在整理一份关于重构红包项目的报告。
以下是报告的内容:
红包项目迁移计划
为了解决什么问题?
明明是业务关联非常紧密的项目,却因为历史原因把表拆分到了两个数据库,因此同样代码也分成了两个项目。由此带来了开发需求慢,业务代码重叠,接口速度请求慢。业务bug较多,处理问题也比较麻烦。
要达到什么样的目标?
1、快,开发快,接口快,解决问题快
2、服务治理,客服可以拦截绝大部分商家的问题
3、架构简单,定位问题快,可扩展性强
如何去做?
优惠券的生命周期,可以分为:创建更新,读取,领券以及核销。
以此为准划分了红包项目迁移的各个阶段,每个阶段完成后可以上线到生产环境,整个计划预计2019年内完成。
Stage1,CRM项目优惠券的写入和更新(目前进行中)
原来红包项目的代码暂时不动
整理统计相关信息
红包项目废弃的表有哪些?需要迁移的表有哪些?
目前与CRM红包关联的项目有哪些?
CRM提供给其他项目的接口有哪些?
红包提供给其他项目的接口有哪些?
CRM和红包之间互相调用的接口有哪些?
Stage2,在CRM中读取优惠券信息
redis缓存,包括优惠券以及各种优惠券统计数据
废弃CRM中读取红包的接口,改成读取数据库
废弃红包项目中关于优惠券的CRUD代码
Stage3,领券、核销操作迁移至CRM
重构领券
简化Service逻辑
废弃接口中的red_envelop层
用多态取代领券接口中的大量switch代码
重构核销
废弃红包项目提供给CRM的核销接口,直接数据库操作
Stage4,逐步废弃红包项目中代码,仅保留给其他项目调用的接口
开放给其他项目的接口,改成从CRM调用
废弃red_envelop
优化逻辑复杂的接口
获取可用的优惠券列表