关于架构的认知,根据自身的经验,总结两点。
首先,架构是演化而非设计出来的 。并不是说架构不需要设计,而是说在架构之初,无需面面俱到,选择最熟悉的技术,用最简单的技术架构来满足当前的业务需求和流量现状。等到系统遇到瓶颈后,当前架构实在无法满足需求时,再考虑重新设计架构。就好比,要做一个电商系统,京东和淘宝的架构肯定能满足当前以及未来的业务需求,但我们不可能真的去复制它们的架构。
其次,架构设计的关键在于判断和取舍。所谓判断,即通过对需求的理解,识别系统复杂性所在的地方,并针对这些复杂点进行架构设计。所谓取舍,即有的放矢,而不是面面俱到。关于判断和取舍的逻辑,可以参考:如何做技术选型?。