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

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)是一种以人为核心、迭代、按部就班的开发方法。spa

为何说是以人为核心?架构设计

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

什么是迭代?

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

相关文章
相关标签/搜索