2 架构演进最佳实践
既然有这三种方案,是不是就该在高并发系统设计中一股脑全用上?
of course not!架构设计是演进的,不是一次性的!还需要考虑资金成本,运维成本、开发成本各种。淘宝的成功就是现实的生动案例。
不能为了设计而设计,不要过度设计。单机满足业务需求就不要分布式,架构不能盲目,架构一定是逐步演进的,而且是随着业务的需求逐步进行的。可总结如下:
最简单的系统设计满足业务需求和流量现状,选择最熟悉的技术体系
随着流量的增加和业务的变化修正架构中存在问题的点,如单点问题、横向扩展问题、性能无法满足需求的组件。在这个过程中,选择社区成熟的、团队熟悉的组件帮助我们解决问题,在社区没有合适解决方案的前提下才会自己造轮子
当对架构的小修小补无法满足需求时,考虑重构、重写等大的调整方式以解决现有的问题。
高并发系统的演进应该是循序渐进,以解决系统中存在的问题为目的和驱动力的。
参考
https://zh.wikipedia.org/wiki/%E7%A1%AC%E7%9B%98