专栏首页Grace development浅谈架构是为了什么 (上)

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

前言

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

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

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

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

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

why

为什么要做架构?有一部分人是这样说的 – 做软件就需要架构 – 没架构的软件不靠谱 – 我是架构师这软件我必须做架构 – 我在学习架构,所以我接手的项目要做架构

各位朋友,生活如此多娇,不必互相残害。架构是要做。实际每日的工作中,你一直在架构,感觉到了吗?例如下面的一些日常工作 – 这块的业务响应速度有些慢,我们需要想办法提升速度 – PHP线程经常挂掉,单机配置到极限,我们需要方案去解决 – 数据库经常出现死锁,查看哪块业务造出的并提出解决方案 – 这块的业务耦合太高了。我们开会讨论如何做。

是日常工作中,你无时无刻的在架构,而你与架构师唯一的区别是你是遇到问题再想解决方案,而架构师会提前想好,例如这种方案可以去解决某个问题,但也需要考虑其弊端,弊端出现的方案是什么样的。实际程序员与架构师不分家。

设计

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

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

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

物理架构

作为一个创业公司,公司资金不足,业务也不是太多,数据也不多。那就可以选择

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

就完全可以解决实际需求。多整几台服务器做负载、主从完全没必要。

逻辑架构

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

数据架构

在前期数据量不大的时候,完全可以使用单机数据库去存储,玩各种主从,主主你自己不嫌累吗。当然也有例外,对安全特别看重的一系列业务还是需要做主从的。

代码架构

在模块设计上井然有序就可以了。不要出现伪代码,烂代码。

扩展

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

致谢

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

我的博客即将搬运同步至腾讯云+社区,邀请大家一同入驻:https://cloud.tencent.com/developer/support-plan?invite_code=hbjeggsrtt0l

最后修改:2周前 2018-08-31

© 著作权归作者所有

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 浅谈架构是为了什么 (下)

    从现在开始,假设我们自己是一个创业的小团队。没资金没人脉,靠技术打天下。现在要开发一套电商系统。开始自己的表演。

    CrazyCodes
  • Laravel源码解析之反射的使用

    PHP的反射类与实例化对象作用相反,实例化是调用封装类中的方法、成员,而反射类则是拆封类中的所有方法、成员变量,并包括私有方法等。就如“解刨”一样,我们可以调用...

    CrazyCodes
  • 使用GrumPHP来纠正代码“毛病”

    嗨,我是CrazyCodes,小时候做错事,长辈有没有训斥过你呢?今天让我们看看PHP的监护者,愤怒的老头- – grumphp

    CrazyCodes
  • 《互联网架构 》来自一位大牛的分享

    对于大部分程序员来说架构师这条路还很远。但是掌握现阶段Java的主流技术无疑提升了自身的竞争力。

    用户1518699
  • 小钢的架构思考:什么是架构

    最近在思考架构方面一些最基本的问题,比如什么是架构?如何评价一个架构的好坏?是否有一些通用的基本原则指引架构设计?在面向对象设计方面,有单一职责、里氏替换、依赖...

    Keegan小钢
  • 对软件架构的一些思维脑图整理

    Java高级架构
  • 干货 | 魅族云平台系统架构师梁鹏:魅族基础系统架构运维之路

    嘉宾演讲视频 Guest Video ? 温馨提示 本视频时长48分46秒,建议在wifi下观看 5月13日,应用性能管理大讲堂第十七期——《架构演进中的关键技...

    IT大咖说
  • 工作多年,我对架构的一些理解

    每一个程序员都听过架构这个词,每一个程序员都有自己对此的理解和看法,本文分享我对架构的理解。

    Frank909
  • 美丽的架构

    美丽的架构究竟是怎样的?架构师们上下求索,孜孜以求,始终不得其解。归根结底,美丽这个词语总还是偏于感性认识,就仿佛音乐之美,绘画之美,不能以尺度来衡量,追求的其...

    张逸
  • 跳出“误区”,学着如何打造“最好的架构”。

    “架构”是我们这行业种一个很常见的词,表明其必然也是经历了很长的岁月打磨所形成的一个词。架构的这个词出现的意义是什么?为了解决什么问题?只有把这2个问题想明白了...

    Java架构技术

扫码关注云+社区

领取腾讯云代金券