Skip to content

系统设计

系统设计也是工程师的必备素养,各种精妙的算法和数据结构到落地之间隔着一层薄膜,而这个薄膜就是系统设计。 做系统设计的一个要点,就是去做技术选型

工程上的问题其实都是取舍,我们在做一个系统之前,最重要的是想明白我们系统的设计目标,业务目标与技术目标,业务目标一般指功能上的完备,而设计目标更多的在于可扩展性、高可靠、延时、成本等。 其中又有类似于CAP,BASE等各种理论。其中BASE又是CAP理论中CP方向的延伸。

其实日常中也是可以自己去尝试设计各种复杂系统的,昨天看了教练的公众号,里面提到的自己去折腾各种指标的快乐,想起来自己写代码,思考各个系统的快乐。

其实有空可以考虑下各个常见场景的设计,比如朋友圈,微博热搜,微博等的设计,这种设计与思考本身也是一种乐趣。

参考文档

  1. https://docs.google.com/document/d/1pOarvQbjzLd9tz5ZuxktyrYsZ41mbWba5_LUeFj65lI/edit#heading=h.yooou6kksww9
  2. https://github.com/Vonng/ddia#readme
  3. 关于CAP与BASE理论
  4. https://zh.wikipedia.org/zh-tw/CAP定理