付费下载
下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、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 后台的通信3 ) 通信数据格式(JSON 、 XM
2、L )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 ) 基本功能
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 、 MySQL2.4 选择消息队列产品( 1 ) 消息队列一般都包含3 个角色:队列服务端、队列生产者
4、、队列消费者;( 2 ) 常见消息队列产品,RabbitMQ 、 Redis 、 ZeroMQ 、 ActiveMQ 、 RocketMQ2.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
5、.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 日志分析平台1 ) Logstash 、 ElasticSearch 、 Kibana3.10 Docker
6、 容器1 ) Docker 构建一致的开发环境;4 App 后台运维4.1 Linux , App 后台应用最广泛的系统( 1 ) 常用命令,top 、 ps 、 netstat 、 lsof 、 traceroute4.2 Nginx , App 后台 HTTP 服务的利器( 1 ) HTTP 服务;2 ) 负载均衡。4.3 MySQL , App 后台最常用的数据库1 ) 存储引擎,MyISAM 、 InnoDB2 ) 索引;(3 )分库分表,MyCat。4.4 Redis , App 后台高性能的缓存系统(1 )常用数据结构;(2 )集群,Twemproxy, Codis ;( 3 )
7、持久化。4.5 MongoDB , App 后台新兴的数据库( 1 ) 高可用集群;( 2 ) LBS 。5 App 后台架构剖析5.1 聊天 App 后台架构( 1 ) 移动互联网的网络特性,弱网络性、对流量敏感;( 2 ) 协议, XMPP 、 MQTT 、 ActivitySync 、 TCP 自定义;( 3 ) 整体架构,主要包括连接层、业务层、数据层;( 4 ) 消息推拉模式;( 5 ) 数据库架构,单机部署、读写分离、分表分库;6 ) 缓存架构,单台缓存、分布式缓存、主从缓存。5.2 LBS App 后台架构(1) 地理坐标,GPS、基站、AGPS (GPS+基站结合)、 WiFi定位;( 2 ) 基于MongoDB ;( 3 ) 推送服务。6 App 后台架构的演进6.1 架构的核心要素? 软件架构是有关软件整体结构与组件的抽象描述,用于指导大型软件系统各个方面的设计。App后台架构可以定义为由App 后台各个组件的功能描述、相互关系构成的整体系统。App 后台架构的核心要素:( 1
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026广东深圳大学艺术学部刘琨教授团队博士后招聘1人备考题库附参考答案详解(综合卷)
- 2026广东中山市沙溪隆都医院第一期招聘合同制人员6人备考题库带答案详解(满分必刷)
- 2026上半年贵州事业单位联考仁怀市招聘77人备考题库附参考答案详解(巩固)
- 2026四川省红十字基金会招聘工作人员1人备考题库带答案详解(模拟题)
- 2026云南昭通仁德中学招聘33人备考题库及答案详解(必刷)
- 2026吉林省科维交通工程有限公司东南地区项目部劳务派遣人员招聘14人备考题库带答案详解(基础题)
- 2026宁夏德渊市政产业投资建设(集团)有限公司招聘专业技术人员15人备考题库含答案详解(达标题)
- 2026上半年贵州事业单位联考铜仁市碧江区招聘40人备考题库附答案详解(达标题)
- 2026广东广州市花都区实验中学临聘教师招聘3人备考题库及答案详解(必刷)
- 2026上半年贵州事业单位联考贵州省住房和城乡建设厅招聘16人备考题库附答案详解(典型题)
- JJG 264-2025 谷物容重器检定规程
- 绘制竣工图合同协议
- 成人脑室外引流护理团体标准解读
- 酒店管理专业实习管理手册
- 2024年劳动保障监察和调解仲裁股年终总结
- 艺术院校合作办学方案
- 安徽省合肥市包河区2023-2024学年七年级下学期期中数学试卷
- 人教版九年级英语上册阅读理解10篇(含答案)
- GB/T 10561-2023钢中非金属夹杂物含量的测定标准评级图显微检验法
- 《思想道德与法治》课件第四章明确价值要求践行价值准则第三节积极践行社会主义核心价值观
- 轨道安装检查检验批施工质量验收表
评论
0/150
提交评论