架构师 Week4 总结

1.知识点思维导图

2.淘宝技术案例
淘宝技术从几个方面进行分析:1.首页看业务发展,2.前期技术发展,3.几次技术变迁,4.当前面临的挑战。这个 PPT 案例分享时间是 2011 年。总结起来,也印证了上面知识点,任何好的大型互联网项目都不是一蹴而就的。淘宝刚开始也很 low,直接买的国外程序。但随着项目不断发展,需求推动技术进步,到现在已经成为业界的标杆或者领先者。下面是自己的一些感悟
1.项目永远都是为了适应市场,适应需求而生,而不是技术高低
2.要契合时代的潮流学习技术,契合最好的是,个人的工作环境所需要的技术正是潮流技术,那么对个人的发展就是最好的,能很好掌握技术,也能获得不错的薪资回报。但如果工作中用不到潮流技术又怎么办呢?取决于职业规范和个人价值观吧,不是人人都能被命运之神眷顾;但也不要放弃追求理想,不仅要活下去,还要活得更好。
3.宅米网案例
这个案例很有意义,对于初创公司的技术发展有很大借鉴意义。
1.初始的技术架构比较简单,对应上互联网架构演化阶段:1 阶段程序和数据分离,3 阶段应用集群,5 阶段反向代理

2.第二个架构变迁,引入了阶段 2 的缓存,阶段 5 的 CDN,阶段 6 的分布式文件系统,3 阶段数据库集群。

3.最后一次架构变迁,引入阶段 6 分布式数据库,阶段 7SQL 搜索引擎,阶段 8 业务拆分,阶段 9 微服务和中台化

总结:每次技术架构升级都是为了应对最近一次遇到的挑战,用户增加、高并发、体验差、数据量大,开发效率低下,维护成本高。另外架构的演进也是随着需求和问题来的,还是回到之前谈论的话题,好的大型项目都不是一开始就使用高大上的技术,另外案例中也提到,随着订单数据量的增大,有必要用到数据库读写分离吗?结合当时的场景,就算数据量大,也还用不到数据库读写分离,一来代码复杂性,二来只需要冷热分离数据,结合 NoSql 查询即可,解决起来相对来说比较轻量级。
没有最好的技术,只有最合适的技术。
评论