《App后台开发运维与架构实践》第1章 App后台入门

旧街凉风 提交于 2019-12-10 11:29:04

1.1 App后台的功能

  • 远程存储数据
  • 消息中转

1.2 App后台架构

如何快速提炼架构核心点,掌握架构的精髓?

  • 是在什么业务逻辑遇到哪些问题;
  • 采用了哪些技术解决方案。

架构设计有哪些特点?

  •  架构是和业务紧密相关
  • 架构的演变是由业务驱动
  • 架构不是为了炫耀技术

1.3 App和App后台的通信

  • 一般情况下,选择HTTP协议足够了;除非对App的安全性和性能要求极高,而选择私有协议。
  • App和服务器通信使用短连接,除手游和聊天推送服务外,使用长连接。
  • App后台以API的形式提供给App使用。
  • App后台API以JSON作为返回数据的格式,它比XML格式更省流量

1.4 App后台和Web后端的区别

  • App后台要慎重考虑网络传输的流量,主要在API设计、图片处理上
  • 移动手机弱网络环境
  • 手机电量有限

1.5 选择服务器

App产品经常会出现在毫无征兆的App访问量爆发的情况,解决访问的压力最快、最有效的方法是升级服务器的硬件,如升级CPU,升级内存容量或者升级带宽。

传统的IDC要升级CPU或升级内存容量的流程如下。

  • 和客户经理商谈所需硬件的价格或在线选择具体的配置。
  • 在线支付或银行转账。
  • 确认钱到帐后,等待IDC安排工作人员升级硬件。

这个流程由于需要人工介入,很难做到几分钟内完成硬件升级。

而使用云服务器升级硬件就很简单,流程如下。

  • 在用户后台选择升级后的硬件配置。
  • 通过网络支付。
  • 重启服务器,升级就完成了。如果只是升级带宽,甚至不用重启服务器。

整个过程算起来不用5分钟,简单、快捷、方便。而且除了提供服务器外,还提供负载均衡、云数据库、云内存存储等服务。

1.6 最适合App的开发模式——敏捷开发

采用传统软件开发模式的最大问题是开发周期过长,迭代速度慢。移动互联网行业发展速度快,需求不断变化,产品更新迭代的频率高。

敏捷开发(Agile Development)是一种以人为核心、迭代、循序渐进的开发方法。

为什么说是以人为核心?

我们大部分人都学过瀑布开发模型,它是以文档为驱动的,为什么呢?因为在瀑布的整个开发过程中,要写大量的文档,把需求文档写出来后,开发人员都是根据文档进行开发的,一切以文档为依据;而敏捷开发它只写有必要的文档,或尽量少写文档,敏捷开发注重的是人与人之间,面对面的交流,所以它强调以人为核心。

什么是迭代?

迭代是指把一个复杂且开发周期很长的开发任务,分解为很多小周期可完成的任务,这样的一个周期就是一次迭代的过程;同时每一次迭代都可以生产或开发出一个可以交付的软件产品。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!