曾经在文章中说过一句话,大意是说判断架构的牛逼与否,不是看它有多复杂,而是看它在解决同样问题时有多简单。有同学回复说,牛逼的架构是靠时间验证,跟当时解决问题的复杂和简单没啥关系。这话当然没有问题,任何牛逼的架构都需要时间来验证,但我的本意其实是说在做架构设计时,应当尽量追求简单,坚决砍掉一些可有可无的设计。
说句题外话,身边的工程师朋友比较多,所以倒闭的公司看到的也挺多。很多公司一上来就高并发、分布式、分库分表,但真的,到最后死的时候,数据也没能把一张 MySQL 表装满。可能是看得多了的缘故,不管是做架构还是写代码,就特别推崇 KISS 原则,所以才有了前面的那些话,但这仅是个人感悟,绝非通用的设计原则。
Photo by Daria Nepriakhina
作为架构设计的重要环节,技术选型的思路和原则应当与我们之前所学一样。那如何为业务场景选择适合的实现技术?又如何构建自己的技术选型方法论?