普通人做App,只关注功能和UI,是远远不够的。真正撑起一款App长期运行的,是背后的系统设计。 以下这10个概念,如果你要做App,不懂也要听懂一点点,否则上线了也很快“炸掉”。 1. 负载均衡(Load Balancing) 不是你一个App只能用一台服务器!流量多了就要分发到多台机器,一台爆了,用户体验直接崩。 2. 缓存(Caching) 你每次打开App的首页秒加载,很多时候是缓存起了作用。没加缓存,数据库就会被“打爆”。 3. 限流(Rate Limiting) 有人恶意刷接口、爬数据怎么办?必须加限流机制,控制访问频率,保护系统不被拖垮。 4. 消息队列(Message Queue) 下单成功不代表真的下单完成。很多操作其实是先排队进入后台处理,App才不卡。 5. 数据库分片(Database Sharding) 用户多了,不能所有数据都堆一张表上。分片是把数据拆开放,才能抗住增长。 6. CDN 加速 全球用户都在用你的App,图文和视频如果还从中国服务器加载,那体验肯定差。CDN是内容分发网络,自动就近加速。 7. 鉴权(AuthN & AuthZ) App最怕数据泄露。谁能登录?谁能看到后台?权限要严格控制,否则分分钟出事。 8. 容错(Fault Tolerance) 系统总会出问题,关键在于出问题还能不能“自愈”。有容错机制,App不会动不动就崩。 9. 可扩展性(Scalability) 今天100人用,明天1万人用,你的架构能抗住吗?设计初期就要考虑如何轻松扩容。 10. 监控(Monitoring) App不是上线就完事,要随时知道系统哪里慢了、接口是不是挂了,有问题要第一时间报警。 总结一句话: 你看到的是App的外壳,用户体验;你没看到的,是支撑App稳定运行的底层逻辑。 别觉得这些离你很远,其实很多App死掉,就死在这些看不见的“基础设施”上。 你不懂没关系,找对懂这些的人比什么都重要。摘要:普通人做App,只关注功能和UI,是远远不够的。真正撑起一款App长期运行的,是背后的系统设计。 以下这10个概念,如果你要做App,不懂也要听懂一点点,否则上线了也很快“炸掉”。 1. 负载均衡(Load Balancing) 不是你一个App只能用一台服务
来源:吴天琪