文档章节

6.app架构基础

 晓已
发布于 2015/03/25 17:49
字数 1167
阅读 18
收藏 0

【转载】作者曾健生,公众号IDappbackend

               比目科技:http://click.bmob.cn/?sid=752c854d8a91772b828a

 

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成长的过程中,后台的架构也需要不断成长。技术人员,也需要跟上这个成长的步伐。

本文转载自:http://mp.weixin.qq.com/s?__biz=MzA3NDMzODk5Mw==&mid=202992319&idx=1&sn=0fd8d1fe4de2f74a4d256c475...

共有 人打赏支持
粉丝 2
博文 15
码字总数 1110
作品 0
广州
私信 提问
ASP.Net MVC默认目录结构

1.Controllers 保存处理URL请求的Controller类 2.Models 保存操纵业务与数据对象的类 3.Views 保存UI模板页面 4.Scripts 保存Javascript库文件和脚本.js 5.Content 保存CSS,图像,和其他内容...

桃子红了呐
2018/01/07
0
0
ThinkPHP源码阅读2-----C函数配置文件详解

ThinkPHP的配置非常灵活,可自定义加载.大概看了一下,一共有这几个地方会加载配置文件,方便以后的读取 /** 获取和设置配置参数 支持批量定义 * @param string|array $name 配置变量 @param m...

3147972
2014/05/18
0
0
app后端设计--总目录

做了3年app相关的系统架构,api设计,先后在3个创业公司中工作,经历过手机网页端,android客户端,iphone客户端,现就职于app云后端平台bmob(想了解bmob点击这里)。其中的乐与苦,得与失,...

云栖希望。
2017/12/04
0
0
ASP.Net应用程序的目录结构

每个Web应用程序都要规划自己的目录结构,除了自己设计的目录结构意外,ASP.Net也定义一些有特殊意义的目录。 1.Bin:这个目录包含了所有的预编译的ASP.NET的Web应用程序使用的.Net程序集(通...

长平狐
2012/10/16
140
0
【思路】混合云与多云管理进入架构时代!

混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向。我们已经知道私企业主要是面向企业用户,出于安全考虑,企业更愿意将数据存放在私有云中,但是同时又希望可以获得公有云的...

English0523
2017/08/08
0
0

没有更多内容

加载失败,请刷新页面

加载更多

《货币商人》读后感作文选登3800字

《货币商人》读后感作文选登3800字: 领导之法、管理之术的大智慧与小技巧(宝安支行纪委书记葛希) 非常感谢夏书记向我们推荐了这本《货币商人》。这本书我读第一遍时惊现它像一个宝藏,蕴藏...

原创小博客
30分钟前
1
0
面试之ssm粗略简答

说实在的,spring源码对我来说可能就是报错的时候会一个个点进去找错误源头,其他都是为了让自己学习大神们优秀的编程思想和理念(顺便面试的时候吹吹牛皮~) 这次zhjj就直接抛了一个范围很...

无极之岚
31分钟前
2
0
史上最强Dubbo面试25题含答案详解:核心组件+架构设计+服务治理等

1.Dubbo是什么? Dubbo 是一个分布式、高性能、透明化的 RPC 服务框架,提供服务自动注册、自动发现等高效服务治理方案, 可以和 Spring 框架无缝集成。 RPC 指的是远程调用协议,也就是说两...

mikechen优知
55分钟前
2
0
如何正确的选择云数据库?

本文由云+社区发表 作者:数据库 江湖传说在选择和使用云数据库过程中 10个人有9个会遇到以下问题: 数据库正常使用过程中莫名卡顿 经常遭遇主从延迟和主从不一致 不知如何实现无损跨云跨数据...

腾讯云加社区
55分钟前
1
0
虚拟机下centos7.x简易命令大全与试玩体验

OS: liunx version: centos7.x date: 2019-01-18 1. cd / : 进入服务器根目录 2. cd .. : 进入当前目录的上一级 3. ls : 显示当前目录下的所有文件夹或文件(list的缩写) 4. ip addr : 展示服...

皇冠小丑
今天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部