码迷,mamicode.com
首页 > 移动开发 > 详细

6.app架构基础

时间:2015-02-12 18:26:22      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:

       app架构,一个听起来高大尚的名字,很多小伙伴听到这个词语感觉很迷茫,不知道架构具体说的是啥?在q群里,"app后端应该怎么架构"这个问题被问了无数次。通过阅读本文,根据本人提出的一个通用的架构设计的框架,帮你踏入架构的大门。

  在百度百科中,对架构的定义是:网站架构,一般认为是根据客户需求分析的结果,准确定位网站目标群体,设定网站整体架构,规划、设计网站栏目及其内容,制定网站开发流程及顺序,以最大限度地进行高效资源分配与管理的设计。

  看到上面的解析,估计很多新手都会搞晕。

  根据自己5年的互联网开发经验,为了帮助新手快速入门,特地提炼出一个通用的架构设计的框架:


  1. 有什么业务

  2. 遇到什么问题

  3. 有什么可行的技术解决方案



  掌握了以上的架构设计的框架,有什么好处呢?


(1)不怕被别人的架构文章搞晕


  当在网络上看到别人的架构分享时,套用这个架构的框架,问自己这3个问题:作者讲是在什么业务逻辑上,遇到哪些问题,采用了哪些技术解决方案。通过这个框架,能帮助你快速提炼出别人架构的核心点,掌握这个架构的精髓。


(2)能快速地整理合适的架构


  当在设计app的架构时,根据架构的框架,可采用下面的4个点设计app架构:


  1. 根据app的设计,梳理出app的业务流程,把每个业务流程列出来

  2. 把每个业务流程中会遇到的问题整理出来

  3. 根据整理出的问题,探讨可行的技术解决方案

  4. 把3中的所有的技术解决方案有机融合,就是一个app的架构了。


  另外,从对架构的框架上可看出,架构设计上的以下特点:


(1)架构是和业务紧密相关的


  每个app都有独自的业务逻辑,遇到的问题也不会一样的,解决方案也不一样,因此架构也不尽相同。

  经常在qq上被人问到:"app后端应该采用什么价格?"大哥,我不了解你的业务逻辑,不知道你会遇到哪些问题,怎么知道你需要使用哪些技术方案,架构根本无从谈起。


(2)架构的演变是由业务驱动


  当app处于不同的发展阶段,架构上也需要做变化。

  例如,验证用户的token,一开始没啥用户的时候,可能直接在用简单的sql查询语句就能搞定,但随着用户的增长,服务器的压力越来越大,查询速度越来越慢,可能就要迁移到nosql中验证。

  但同时要考虑一个问题,如果初期架构上的不合理,到了后期,因为业务的发展需要改变架构是很困难.但是初期要弄一个好的架构,又可能耽误后端的研发进度,使整个app的上架时间推迟,这时又要面对巨大的资金和时间压力,具体怎么取使,要各位小伙伴认真考虑,马虎不得。


(3)架构不是为了炫耀技术


  架构是为了满足业务的需求而设计的,技术人员不应过度设计,学了一堆最新最炫的技术,都把它放进架构,而不是根据实际的需求来做。

  技术是为了满足业务而存在的,过度设计,不但延误了整个app的研发周期,也可能给运维带来了很多不必要的麻烦。


总结:

  在app成长的过程中,后台的架构也需要不断成长。技术人员,也需要跟上这个成长的步伐。


---------------------------------------------------------------------------------------------------------------------------

打开链接  app后端系列文章总目录 总目录 ,能查看本人发表过的所有原创“app后端”文章。


【作者】曾健生

【QQ】190678908
【qq群】254659220 
【微信公众号】 appbackend
【新浪微博】 @newjueqi
【博客】http://blog.csdn.net/newjueqi 

6.app架构基础

标签:

原文地址:http://blog.csdn.net/newjueqi/article/details/43761297

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!