如何搭建优质的电商系统

 工作心得、电商系统

1、做轻重分离 (99%的浏览量最多才能对应1%的下单量)

(1)用于浏览的数据放cache
(2)重要的设立单独服务器空间

2、做好风控系统.(接口操作耗时等给技术做一个报表,接口操作耗时作为优评估标准之一)

file

所有的写操作(增、删、改)都要记录完善的日志,且记录下来:此次操作是否成功,以及耗时多少毫秒,如果不成功,还要记录当前所有环境变量,如果是数据库操作,最好把sql语句都记录下来。读操作如果量大,可以考虑把后台返回结果超过2秒的读请求记录,监控这块的量,超过2秒还没返回,用户多半就跑了
这个非常有必要,一个“可运营”、“可维护”的电商系统差别就差在这里。

我现在团队里是这么做的:
(1) 每隔10分钟,监控异常的:注册、登陆、下单、支付以及异常的金额等,让风险控制在10分钟内。
(2) 按天生成技术报表。

**接口 昨日执行次数 成功率 失败率 0-500毫秒 500毫秒-1秒 1-2秒 2秒以上
** ** ** ** ** ** ** **

(3) 每天生成产品运营报表(基础的)

多少人登陆 多少人下单 多少人支付 多少人付款 登陆失败多少人 下单失败多少人 取消订单多少人
** ** ** ** ** ** **

这里给大家推荐个日志系统 log4php日志记录 + ELK日志分析系统

3、部门边工作、边优化规则

4、电商常见最致命错误

(1)单位时间内(如1s)(如网络卡顿原因导致)用户多次点击按钮提交了多请求导致的后果。做一个key 对操作进行md5加密就是做一个操作唯一识别就行
(2)操作并发。(如商品数据库还有一件多个人同时点击购买(A =A-1),最后导致库存为负值了)(添加条件 A =A-1 AND A>=0)

5、一定要做分表分库,减少嵌套查询

(1) 用户表、商品表、订单表等基本表必须要考虑分库分表,要不未来随着量大很容易出现异常。
(2) 首页、列表页等聚合页面,通过数据冗余,在分库分表后多写一份,以达到查询时直接使用索引,2秒内返回结果的目的
电商99%以上的量都是读,只要通过分库分表和多写些冗余数据的方式就可以提升性能,解决掉目前电商系统的根本问题

6、做好柔性可用原则(权重分配)

file

7、学会运用数据,程序员也要懂商业

file

电商运营详情请看:http://blog.csdn.net/eroswang/article/details/8185676#comments