1、 购买一套系统,做二次开发
2、 从0开发
3、 在公司原来的平台开发
4、 外包
几个方案的比较:
第一个:购买系统要选好,功能等都要调研好。二次开发方便,在语言层面、选择php或者java都是可以的。这个比较省事,而且人员要求不高。
第二个:成本高,周期长,对人员技术要求较高,需要资深产品经理,而且开发周期和测试周期难以控制。
第三个:在原来的公司平台基础上开发,公司平台经过一年多的发展虽然成熟度比较高,但是技术架构是比较复杂的,对于开发人员的要求也比较高,数据结构不好修改。原有设计问题等等,需要解决,成本也是很高的。
第四个:外包是用钱去解决的一种思路,但是这个虽然能完成需求,但后期维护开发是一个大问题,添加删除功能都不易,需要外包公司持续维护,这个成本是非常高的,效率会很低。加上在交付后需要很多维护人员,每个维护人员的工资都不低。投入和收获的性价比不高。
基本业务架构图:
公共服务识别和抽离:
一些整站通用的功能做抽离,做为公共服务供各个系统使用,避免重复开发,罗列如下:
1、 验证码服务。
2、 图片上传组件及图片服务器客户端(jar包形式提供)。
3、 支付内部网关(包含微信,支付宝,银联支付等),可以自由接入,支付和业务逻辑解耦。
4、 会员登录服务,会员数据读取写入服务 客户端(jar)(服务由dubbo方式提供)
5、 公司信息读取写入客户端(jar)(服务由dubbo方式提供)
6、 统一的商品读取和写入客户端(jar)(服务由dubbo方式提供)
7、 统一的订单读取和写入客户端(jar)(服务由dubbo方式提供)
8、 统一的积分充值消费客户端(jar)(服务由dubbo方式提供)
9、 结算不采用服务方式,因其只在一个系统中会出现。
10、 短信及短信验证码服务(jar)(服务由dubbo方式提供)
物理部署:
Dubbo服务:三台机器
分销平台:两台+负载均衡slb
积分商城:两台+负载均衡slb
老平台:两台+负载均衡slb
数据库:主+备
网站上的图片需要采购cdn
开发模式:前后端分离。
持续集成+自动化部署:Atlassian Bamboo
监控:包含操作系统监控+应用监控+数据库监控
自动化测试和单元测试,单元测试要求开发写,自动化测试在有自动化测试人才后开始完善。
代码管理:svn
测试环境,预发布环境,正式环境实现自动化代码合并和自动化部署。减少运维成本
采用Atlassian Bamboo
前端框架必须统一,减少技术成本。
监控报警:统一日志采集分析+短信报警