Woowen You can do anything you set your mind to, man

大型网站技术架构 核心原理与案例分析 读后感

这本书几年前就买过实体书看过一遍,当时觉得收获挺多,最近又拿出来翻了一次感觉还是有收货,总体来言是个不错的好书,不仅从技术上,最后还从为人处世上说了一些对读者的话,感觉比较适合新人来看
首先这本书并不是纯技术类的书籍,教你怎么一步步的搭建网站,如何维护等等,它只是从宏观上介绍了一个网站如何的成长,以及大型网站遇到的问题,如何解决等等,并不会在过多的细节上有太多的探讨,适合新人入门,让新人对整个网站架构有个清晰的认识

网站架构的历史

  • 1.没有任何一个网站是一蹴而就的,都是从小作坊一步步成长起来的,淘宝也是从lamp架构一步步成长的
  • 2.技术是基石,但技术要依靠业务成长,例如一个日活1万甚至10万的小网站,首先面临的是业务的成长,业务起来了再根据面临的问题去解决技术的问题,不然就算给你一个淘宝的架构也用不上,因为本身的流量就这么多,还要浪费很多人力资源去开发维护,甚至浪费资源去购买专用的设备(例如全体设备上SSD),因此一个架构师首先要考虑的是在当前的业务数据背景下,设计出一套最适合当前业务量的架构体系,不能盲目追求技术,追求大公司的解决方案,不然你的架构只会越来越复杂,也许技术还没做好,业务就已经死了
  • 3.技术依托业务,业务先行,技术跟进,双管齐下才是正确的打开方式
  • 4.随着业务的成长,会出现各种各样的问题,这时技术不能称为业务的瓶颈,要随着业务一起去更新迭代,因此架构师不光只需要考虑技术方面,还需要时刻关心业务方向,从而为业务制定最贴合当前业务的技术架构

业内架构

书中主要说了淘宝,维基百科,秒杀等业务场景,架构师需要根据不同的业务场景指定更加合适业务需求的技术架构,例如淘宝的技术演化,维基百科还在用PHP,秒杀场景下的一些解决方案

维基百科还在使用PHP,且本身业务场景是读需求大于写需求的场景,因此它的架构更加注重的是读性能,资源存储的可靠性,以及使用大量的开源项目构建了一个全球访问量Top10的网站,因此每次看到有人讨论语言的谁好谁坏的基本都知道是半桶水晃荡的类型,因为在宏观上来看每种语言都有适合它的业务场景,对机器而言编程语言都是一样的,编程语言只是对人而言,因此语言最需要考虑的是对人类的友好度,开发效率等等

程序员的为人之道

最后几章当初看的时候觉得有作者凑字数的嫌疑,因为它完全背离了技术,只是谈论一些程序员在日常工作中的一些与人沟通的技巧和注意点,现在再来看这章节就不一样了.它完全是一个从业多年的前辈对后辈的一些教导,因为本质上程序员是一个与人协作的团体性的工作,现在已经不是一个人单枪匹马就能写一套系统的年代了.一个公司的系统可能有几十人甚至几百上千人去维护,假设你技术成长了80%,工作效率可以提升20%,但是只要日常生活中注意到一些沟通技巧就能把自己的工作效率提升20%,何乐而不为呢?

总结

  • 1.技术是一个不断试错的过程,一个慢慢积累的过程,架构也是
  • 2.技术架构不求最贵,只求最合适,根据业务需求制定合适的架构才是最好的,盲目跟风学习业内的模式是不可取的
  • 3.技术本质上都是大同小异,没有最Low的语言,只有最Low的人,合适的才是最好的
  • 4.与人沟通的技巧是每个程序员都需要注意的,不光技术能提升你的工作效率,沟通也可以

Woowen 浙ICP备15013647号