前言架构是一个软件从0到100的进化过程,不是一开始就能承载上亿访问量的牛X架构。这篇文章是为那些想成为架构师或者正在努力成为架构师的朋友而写的。陕西城墙有防御外攻的结构。兵马俑有防止地基倒塌的结构。这是一个刚性结构,前期要考虑清楚它的稳定性。餐厅的人员配备、菜单的交替更换和管理的不断改进。考虑到可扩展性,这是一个软架构。你为什么想做建筑?有人说,要制作软件,就需要架构。没有架构的软件是不可靠的。我是一名建筑师。我必须为这个软件做架构。我是学建筑的,所以我接手的项目需要是建筑。亲爱的朋友,生活如此美好,不必自相残杀。建筑是要做的。在实际的日常工作中,你一直在建设,你感受到了吗?比如下面日常工作的业务响应速度就有点慢。我们需要想办法提高速度。PHP线程经常挂起。单机配置达到极限。我们需要一个解决方案来解决数据库经常出现的死锁,查看是哪个业务引起的。而且方案的业务耦合度太高。我们开会讨论如何去做。在日常工作中,你无时无刻不在建造,你和架构师的唯一区别就是你遇到问题就想办法,而架构师会提前想好。比如这种解决方案可以解决某个问题,但是也要考虑它的缺点,针对缺点的解决方案是什么。实际的程序员离不开架构师。设计架构设计涵盖应用程序运行的所有方面。包括物理架构、逻辑架构、数据架构和代码架构。在项目开发初期,无需将这四个排名想得太复杂。比如物理架构是一个创业公司,资金不足,业务不多,数据也不多。那么你可以选择阿里云ECS4M带宽和4G内存,完全可以满足实际需求。完全不需要多几台服务器来做负载,master-slave。逻辑架构业务并不复杂,只要明确区分C层、V层、M层即可。无需播放任何子系统,如消息子系统、用户子系统、支付子系统。不但没有帮助。相反,他把自己弄得一团糟。很多程序员认为如果前期没有设计好,后期就很难维护了。这其实是一个错误的想法。人无完人,前期的设计不如后期的设计?前期数据结构不大的时候,可以用单机的数据库存储,各种主从玩玩。做主人不觉得累吗。当然,也有例外。一系列非常重视安全的业务仍然需要做主从。模块设计中代码结构井井有条就够了。没有伪代码,糟糕的代码。扩张扩张这件事一直是约束我不“放肆”的一把刀。下一篇文章,我们就来聊一聊这把刀的奥秘。致谢感谢您看到这里。你一定想提升自己的能力,希望自己做的每一个项目都能力大无穷。我当然希望如此。我相信每个程序员都有一个改变世界的梦想。建筑并不是一个神秘的职业。请等待我的下一篇文章向我的朋友们展示我公司架构的演变。虽然比不上大厂的结构。但是很实用。谢谢
