PPPHP官网

聊一个纸巾机项目

最近5个月投入到了一个纸巾机创业项目,经过将近半年的努力,项目依然没有起色,小伙伴在微信公众号做了一个商业复盘,我也做一个技术复盘聊一聊这个项目的故事。

简单介绍一下项目,项目是免费领取纸巾的互联网落地项目,团队两个人,我的小伙伴负责市场和硬件的外包对接,我服务产品+前端+后端。

先上一个架构图


架构方面:项目一开始就是朝着分布式进行架构的,所有的架构都兼容分布式,保证系统业务爆发的时候可以快速扩容,虽然至始至终我们都只有一台服务器

部署方面:阿里云全家桶,ecs+rds+日志服务+quickBi+七牛,redis和memcached打算业务量稍有起色就入手的。其中日志服务的使用是大大超出我的预期的。直接帮我用最快的速度搭建了日志和监控,然后面对着每天噼里啪啦的钉钉报警怅然若失

软件方面:Linux + Nginx + PHP + Mysql  还有类似Laravel + supervisor之类的就不说了

编码方面:遵守了一套简单的ddd思想,不同领域之间的交互靠事件的形式去驱动

然后以问答的形式说说细节

Q: 软件上踩了什么坑?

A:因为没钱买队列服务,所以有数据库去分发Job,结果Job写库频繁导致表被频繁锁死。

软件第一版本Swoole服务直接连到Http服务上,导致生成的session把服务器硬盘写满了,一个晚上生成了4个G的session

Q:有哪些优缺点?

A:ddd的设计真香!每次遇到逻辑和变更都能较为从容的面对。

事件分发这一块随着业务量变大而越发臃肿,比如以前只需要一个OrderPayDoneEvent,后来就有了OrderPayBeforeEvent,OrderPayCancelEvent

Laravel框架开发体验贼爽,但是并发一上来痛不欲生。假如下次再有这种项目,我还用……,毕竟服务器比人力成功便宜多了

Q:怎么面对需求变更?

A:需求变更是很正常的,写代码的时候给自己多留一些余地,变更的时候就不会那么痛苦。如果是改架构就很痛苦了,比如从三级会员架构变成无限级架构,这种架构变更特别浪费前期资源,我觉得不管是开发还是创业,真的要把事情想通透了再动手去做比较好。

Q:有哪些没来得及做的事情?

A:因为技术团队只有一个人,所以也没有去做整套的项目管理,导致很多需求做的时候已经忘了。回过头想看看做了哪些事情,也只能看git的提交记录

Q:有什么想对其他技术人说的?

A:不要给自己设限,后端程序员也要用一下vue,也要看一下大数据是怎么回事,偶尔也要打开ps操作一下。做的事情越多视野越开阔,如果不能站得高就先试试站的宽

转载请著名作者,并附带原文链接,否则视为同意按照每千字五百元的价格支付稿费