浅谈架构是为了什么 (上)

clipboard.png

前言

架构是一款软件从0到100的演变过程。并不是是上来就能够承载什么亿级访问的牛x架构什么的。本篇写给那些想要成为架构师或者正在尝试成为架构师的朋友。程序员

  • 陕西的城墙有架构,阻挡外来攻击
  • 兵马俑黄陵有架构,避免根基倒塌

这是硬性架构,在初期就应考虑清楚其稳定性。数据库

  • 餐厅的人员配置,菜谱的交替更换以及管理的不断完善。

这是软性架构,考虑扩展性。安全

why

为何要作架构?有一部分人是这样说的服务器

  • 作软件就须要架构
  • 没架构的软件不靠谱
  • 我是架构师这软件我必须作架构
  • 我在学习架构,因此我接手的项目要作架构

各位朋友,生活如此多娇,没必要互相残害。架构是要作。实际每日的工做中,你一直在架构,感受到了吗?例以下面的一些平常工做架构

  • 这块的业务响应速度有些慢,咱们须要想办法提高速度
  • PHP线程常常挂掉,单机配置到极限,咱们须要方案去解决
  • 数据库常常出现死锁,查看哪块业务造出的并提出解决方案
  • 这块的业务耦合过高了。咱们开会讨论如何作。

是平常工做中,你无时无刻的在架构,而你与架构师惟一的区别是你是遇到问题再想解决方案,而架构师会提早想好,例如这种方案能够去解决某个问题,但也须要考虑其弊端,弊端出现的方案是什么样的。实际程序员与架构师不分家。学习

设计

架构设计覆盖一款应用运行的各个方面。包括阿里云

  • 物理架构
  • 逻辑架构
  • 数据架构
  • 代码架构

在项目开发初期,不必将这四个名次想的过于复杂。举个例子spa

物理架构

做为一个创业公司,公司资金不足,业务也不是太多,数据也很少。那就能够选择线程

阿里云ECS 4M带宽 4G内存

就彻底能够解决实际需求。多整几台服务器作负载、主从彻底不必。架构设计

逻辑架构

业务不复杂,将C层,V层,M层分清楚便可。没必要要玩什么子系统,例如消息子系统,用户子系统,支付子系统。不只没帮上什么忙。反而整的本身乱七八糟。不少程序员认为若是在前期不所有设计好,后期很难维护。这实际上是一个错误的想法。人无完人,备不住前期设计的还不如后期设计的好呢?

数据架构

在前期数据量不大的时候,彻底可使用单机数据库去存储,玩各类主从,主主你本身不嫌累吗。固然也有例外,对安全特别看重的一系列业务仍是须要作主从的。

代码架构

在模块设计上井井有理就能够了。不要出现伪代码,烂代码。

扩展

扩展这个事一直是束缚我“放肆”的一把刀。下篇文章咱们会讲这把刀的神秘之处。

致谢

感谢你看到这里,能看到这里你必定是但愿提高本身的能力,也但愿本身作的每个项目都能像巨人同样强大。固然我也但愿这样。我相信每一个程序员都有一个改变世界的梦想。架构并非一个多么神秘的职业。请等待我下篇文章给朋友们去演示我公司的架构演变。虽然敌不过大厂的架构。但很实用。谢谢

相关文章
相关标签/搜索