不逼自己一把,可能连本书都没时间看。。

终于把李智慧大佬的《大型网站技术架构——核心原理与案例分析》看完了,顺便梳理了全书脉络。本书出版于2013年,正是web系统登峰造极之时,尽管移动互联网相关内容缺席,但是系统架构的主题思想仍然是沿用的,即便是5G时代为可能出现的物联网信息大爆炸而设计的服务器系统。因此放眼现在,该书也是系统架构设计入门不可多得的“武功秘籍”。

文末会列出一些对该书的思考,欢迎大家在评论区一起探讨优秀的系统架构设计。

大型网站架构演化发展历程

大型网站架构模式

大型网站核心架构要素

思考

  1. 大型网站发展历程

    补充后期淘宝系统架构发展历史:分布式系统之后,应用自研的OceanBase数据库,使用云计算、混合云,服务容器化等技术。

    虽然文中没有提及微服务这个名词,事实上思想已经存在。

  2. 分布式中间件的应用

    在该书出版后的短短6年,各项技术如雨后春笋出现在大众视野,其中很多分布式中间件已经发展到非常成熟的地步,应用十分广泛。

    分布式缓存:现阶段主流应用层缓存为redis,尤其是redis-cluster模式,在memcached的互不通信的基础上,增加了主从功能,从而实现数据分片和备份。

    分布式消息中间件:ActiveMQ没落,RocketMQ和Kafka盛行,RabbitMQ仍有一席之地。

  3. 前端缓存

    补充一下移动互联网时代的前端缓存,举个典型的优化案例,网易云音乐的评论系统,用户在评论后点击确定立即看到了自己的评论,其实是缓存在手机app上的信息,而真正的信息此时可能刚刚进入消息队列,并没有持久化到数据库中。

  4. 线程池参数定义

    此处需要更正,现阶段的线程池个数设置遵循以下规则:

    计算密集型任务,N=CPU数量+1

    IO密集型任务,N=CPU数量 * CPU利用率 * (1 + 线程等待时间/线程CPU时间)

 Comments