文档库 最新最全的文档下载
当前位置:文档库 › 关于APP开发架构规划

关于APP开发架构规划

关于APP开发架构规划
关于APP开发架构规划

App后台开发架构实践笔记

1 App后台入门

1.1 App后台的功能

(1)远程存储数据;

(2)消息中转。

1.2 App后台架构

架构设计的流程

(1)根据App的设计,梳理出App的业务流程;

(2)把每个业务流程可能会遇到的问题整理出来;

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

(4)把所有的技术解决方案有机融合,就是一个App后台的初步架构。架构设计的特点

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

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

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

1.3 App和App后台的通信

(1)用HTTP协议还是私有协议;

(2)用长连接还是短连接;

(3)通信数据格式(JSON、XML)

1.4 选择服务器

(1)传统IDC;

(2)云服务器。

1.5 选择开发语言

(1)不同语言有其擅长的业务场景和性能特性;(2)考虑开发效率和运行效率;

(3)同一个项目不同业务逻辑可以用不同语言实现。

1.6 敏捷开发

(1)Sprint计划会议;

(2)迭代开发;

(3)每日例会;

(4)评审会议;

(5)回顾会议;

(6)及时反馈。

2 App后台基础技术

2.1 从业务逻辑提炼API接口

从业务逻辑到提炼API可分为下面6个阶段:

(1)业务逻辑思维导图;

根据需求抽象出业务逻辑。

(2)功能-业务逻辑思维导图;

支撑业务逻辑的功能模块,

(3)基本功能模块关系;

功能模块设计;

(4)功能模块设计UML;

(5)设计API;

(6)编写API文档。

Swagger-UI在线API测试文档,测试驱动开发(TDD)。

2.2 设计API的要点

(1)根据对象设计API;

(2)API命名规范;

(3)API安全性;

(4)API返回数据;

(5)图片处理方式;

(6)返回的提示信息;

(7)在线API测试文档;

(8)API版本升级。

2.3 选择合适的数据库产品

(1)Redis、MongoDB、MySQL

2.4 选择消息队列产品

(1)消息队列一般都包含3个角色:队列服务端、队列生产者、队列消费者;

(2)常见消息队列产品,RabbitMQ、Redis、ZeroMQ、ActiveMQ、RocketMQ。

2.5 分布式服务

(1)远程服务,REST、RPC。

2.6 搜索技术

(1)开源搜索项目,Lucene、Solr、ElasticSearch、Sphinx、CoreSeek。

2.7 定时任务

(1)Linux定制任务Crontab;

(2)Java Quartz;

(3)Python APScheduler;

3 App后台核心技术

3.1 用户验证方案

(1)使用HTTPS协议;

(2)使用密钥+令牌。

3.2 通信安全

(1)URL签名;

(2)AES对称加密;

3.3 短信服务

(1)选择短信平台;

3.4 高效更新数据

(1)内容的推拉;

(2)增量更新。

3.5 图片处理

(1)APP本地缓存图片;

(2)不同尺寸图片动态生成。

3.6 视频处理

(1)FFmpeg。

3.7 资源文件

(1)Android APK文件,通过Android-APKtool获取文件的基本信息;(2)iOS IPA文件。

3.8 文件系统

(1)云存储,CDN;

(2)分布式文件系统。

3.9 ELK日志分析平台

相关文档