APP 应用系统架构:

客户端程序+应用服务器+数据库

APP对接后端架构 app后端和web后端的区别_灰度

与web系统应用架构相比:

 相同点:

  1. APP和web使用的后端服务器都是相同的
  2. 前后端都是用HTTP协议进行交互(也有部分app用scoket来交互)

不同点:

  1. APP是C/S结构,web浏览器是B/S结构
  2. App前后端交互的数据格式以json为主,web前后端交互的数据格式以HTML为主

APP项目环境及发布平台

 一、APP项目环境(后端)

一般公司内部开发,测试人员会使用不同的环境,以隔离工作过程中彼此的干扰。同时,上线给用户使用的产品也会单独部署环境。

开发环境

指开发人员进行开发时调试运行的环境

测试环境

提供测试人员使用,用于测试人员执行测试,回归缺陷

预发布环境

这个环境中,一般会连接生产环境的数据库,使用生产环境的数据来进行测试

目的时测试最新的代码,对于线上复杂数据的处理情况

注意点:

  • 预发布环境中只针对基本的业务进行测试
  • 测试写的业务操作时,只能使用自己构造的数据
  • 升级涉及到表结构变更时,可以将生产环境数据库数据备份发哦测试库中,升级并测试

生产环境

指正式提供对外服务的环境,产品的实际用户使用的环境

预发布环境过后,正式发布生产环境之前,一般会进行灰度发布。
灰度发布:由于一个项目,一般线上部署时有多台机器运行,所以灰度1台至3台,看看功能是否OK,如果失败则只需要回滚几台,比较方便

后台灰度发布

预发布环境过后,正式发布生产环境之前,进行的一种发布策略
注意点:
一般情况下切一小部分流量,灰度机器<10%
验证时间1周至1个月之间
如果运行无问题,在某个流量小的时刻,不停机更新服务器环境
如果运行有问题,尽快定位问题,并修复问题;如果问题比较严重,需要回滚代码,保障线上用户正常使用

 二、APP应用发布(前端)

APP开发完成之后,相应的开发人员会打出应用程序包,有测试人员按照测试

  • 安卓:APK测试包
  • IOS:IPA测试包

应用内测分发平台

在实际测试工作中,为里方便测试程序包的安装和管理,可以使用一些免费的应用内测分发平台。将应用测试包上传到这些平台上,

可以生成对应的二维码,之间扫码进行应用安装。

  • 蒲公英
  • fir.im

应用线上发布平台

产品测试完成后要在线上进行发布,让用户进行下载使用。下面时安卓和IOS应用常用的发布平台和渠道:

  • 安卓应用:豌豆荚,应用宝,360手机助手,各类品牌商城等;
  • IOS应用:App store,iTools

线上发布流程:

  • 提交APP包到平台审核
  • 给每个APP包分配平台号
  • 将平台号打包到对应的app包
  • 正式提交发布