第一阶段 - 项目成立
- 随便在阿里云买了一台虚拟机。
- 在万网买了一个不是很满意的域名。
- 使用免费的Gitlab创建了自己的代码项目。
- 通过朋友介绍认识设计师小A。
第二阶段 - 开始运营
- 另外多买了一台虚拟机。
- 购买了阿里云的负载均衡服务,并且将80,443端口指向这一新一旧两台服务器。
- 考虑到数据库安全,购买了阿里云的RDMS服务,不再担心数据丢失与备份问题。
- 给服务器创建了一些短信告警。
第三阶段 - 天使在望
- 注册用户竟然达到了惊人的10万。
- 一些调皮的用户开始对你的系统进行业务测试,你开始关注防火墙与SQL注入等安全问题。
-
为队列系统购买了数台服务器充当RabbitMQ Cluster与Worker Cluster角色。将一些非实时性与高消耗任务迁移到队列。
- 发生短信/邮件。
- 计算用户行为。
- 统计各项数据报表。
- 同时购买了阿里云的RDMS从库,使用KingShard等中间件进行透明读写分离。CPU不在持续在80%以上。
- 开始开发全端客户端,使用Access Token权限机制代替Session。
- 开始处理当初写下得烂SQL,优化系统性能。
- 招聘了程序员小B,小C。
第四阶段 - 数据盛宴
- 你开始从别人的口中听到你的产品消息。好的或者不好的。
- 系统数据量开始以超过60度角的水平递增,你坐在电脑前
tail -f /var/log/nginx.access.log
享受着qps带来的荣耀感。 - 你开始在办公室挂了2块屏幕显示当前系统的平均响应时间和异常总数。
- 客户开始投诉系统越来越慢,几张极度增长的MySQL数据表开始让你担忧不已,开始设计下一代系统。引入了分表分库,将搜索功能迁移到了ElasticSearch。你在Google上疯狂的搜索SQL优化技巧。
-
开始将一些独立的服务从主系统剥离,使用RPC进行构建。
- 权限系统
- 存储系统
- 多媒体处理系统
- 验证码系统
- 你的日PV达到了千万级。内部系统的hits达到了数亿。
- 你从几篇博客里学习了几篇DDD的知识,要求程序员小B、小C开始写单元测试。直接使得小C的不满,导致小C的离职。小C认为小单元测试是对他技术的不信任。你没有多说什么,招聘了程序员小D,同时将小B提拔为技术总监,你开始将精力放到了你不擅长的商务领域。
第五阶段 - 全球覆盖
- 你终于迎来了你的第一个海外客户。但是你的客户将他那高达2300ms的ping截图甩你脸上令你羞愧不已。
- 下定决心开始构建全球系统。
- 将静态资源存储在Amazon S3,并且使用七牛回源到中国大陆。
- 使用阿里云的智能域名解析,将域名的ip解析到离客户最快的海外节点。海外节点与主系统构建VPN系统相连接。
- 开始引入多语言系统,对系统的错误码,文案进行多语言翻译。
- 你开始拥有了6位程序员,你将小B和小E分为系(加)统(班)保(不)障(给)组(钱).其余人分为前端后端两大组。
- 小B和小E完善了你的Bug Worker程序,引入了完善的ACK机制和异常处理,解决了偶尔充值不到账的问题,客服小U对小E心生爱意。
终于,你拥有了一个现代化的全球Web后台系统。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。