APP開發(fā)架構(gòu)規(guī)劃_第1頁
APP開發(fā)架構(gòu)規(guī)劃_第2頁
APP開發(fā)架構(gòu)規(guī)劃_第3頁
APP開發(fā)架構(gòu)規(guī)劃_第4頁
APP開發(fā)架構(gòu)規(guī)劃_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、App后臺開發(fā)架構(gòu)實踐筆記 1 App 后臺入門 1.1 App 后臺的功能 1遠程存儲數(shù)據(jù); 2消息中轉(zhuǎn)。 1.2 App 后臺架構(gòu) 架構(gòu)設(shè)計的流程 1根據(jù) App 的設(shè)計,梳理出 App 的業(yè)務(wù)流程; 2把每個業(yè)務(wù)流程可能會遇到的問題整理出來; 3根據(jù)整理出來的問題,探討可行的技術(shù)解決方案; 4把全部的技術(shù)解決方案有機融合,就是一個 App 后臺的初步架構(gòu) 架構(gòu)設(shè)計的特點 1架構(gòu)是和業(yè)務(wù)緊密相關(guān); 2架構(gòu)的演變是由業(yè)務(wù)驅(qū)動; 3架構(gòu)不是為了炫耀技術(shù)。 1.3 App 和 App后臺的通信 1用協(xié)議還是私有協(xié)議; 2用長連接還是短連接; 3通信數(shù)據(jù)格式JSON、XML 1.4 選擇效勞器 1

2、傳統(tǒng) IDC; 2云效勞器。 1.5 選擇開發(fā)語言 1不同語言有其擅長的業(yè)務(wù)場景和性能特性; 2考慮開發(fā)效率和運行效率; 3同一個工程不同業(yè)務(wù)邏輯可以用不同語言完成。 1.6 敏捷開發(fā) 1Sprint 方案會議; 2迭代開發(fā); 3每日例會; 4評審會議; 5回憶會議; 6及時反應(yīng)。 2 App 后臺根底技術(shù) 2.1 從業(yè)務(wù)邏輯提煉 API接口 從業(yè)務(wù)邏輯到提煉 API可分為下面 6 個階段: 1業(yè)務(wù)邏輯思維導(dǎo)圖; 根據(jù)需求抽象出業(yè)務(wù)邏輯。2功能-業(yè)務(wù)邏輯思維導(dǎo)圖; 支撐業(yè)務(wù)邏輯的功能模塊, 3根本功能模塊關(guān)系; 功能模塊設(shè)計; 4功能模塊設(shè)計 UML; 5設(shè)計 API; 6編寫 API文檔。

3、Swagger-UI在線 API測試文檔,測試驅(qū)動開發(fā)TDD 2.2 設(shè)計 API的要點 1根據(jù)對象設(shè)計 API; 2API命名標準; 3API平安性; 4API返回數(shù)據(jù); 5圖片處理方法; 6返回的提示信息; 7在線 API測試文檔; 8API版本升級。1Redis、MongoDB、MySQL 選擇消息隊列產(chǎn)品 1消息隊列一般都包含 3個角色:隊列效勞端、隊列生產(chǎn)者、隊列消費者; 2常見消息隊列產(chǎn)品,RabbitMQ、Redis、ZeroMQ、ActiveMQ、RocketMQ 分布式效勞 1遠程效勞,REST、RPC。 搜索技術(shù) 1開源搜索工程,Lucene、Solr、ElasticSea

4、rch、Sphinx、CoreSeek。 定時任務(wù) 1Linux定制任務(wù) Crontab; 2JavaQuartz; 3PythonAPScheduler; App 后臺核心技術(shù) 用戶驗證方案 1使用 S協(xié)議; 2使用密鑰+令牌。 通信平安 1URL簽名;2AES對稱加密; 短信效勞 1選擇短信平臺; 高效更新數(shù)據(jù) 1內(nèi)容的推拉; 2增量更新。 圖片處理 1APP 本地緩存圖片; 2不同尺寸圖片動態(tài)生成。 視頻處理 1FFmpeg。 資源文件 1AndroidAPK 文件,通過 Android-APKtool 2iOSIPA文件。 文件系統(tǒng) 1云存儲,CDN; 2分布式文件系統(tǒng)。獵取文件的根本

5、信息; 1Logstash、ElasticSearch、Kibana。 Docker 容器 1Docker構(gòu)建一致的開發(fā)環(huán)境; App 后臺運維 Linux,App 后臺應(yīng)用最廣泛的系統(tǒng) 1常用命令,top、ps、netstat、lsof、traceroute Nginx,App 后臺效勞的利器 1效勞; 2負載均衡。 MySQL,App 后臺最常用的數(shù)據(jù)庫 1存儲引擎,MyISAM、InnoDB; 2索引; 3分庫分表,MyCat。 Redis,App 后臺高性能的緩存系統(tǒng) 1常用數(shù)據(jù)結(jié)構(gòu); 2集群,Twemproxy,Codis; 3持久化。 MongoDB,App 后臺新興的數(shù)據(jù)庫 1高

6、可用集群; 2LBSo App 后臺架構(gòu)剖析 聊天 App后臺架構(gòu) 1移動互聯(lián)網(wǎng)的網(wǎng)絡(luò)特性,弱網(wǎng)絡(luò)性、對流量敏感; 2協(xié)議,XMPP、MQTT、ActivitySync、TCP 自定義; 3整體架構(gòu),主要包含連接層、業(yè)務(wù)層、數(shù)據(jù)層; 4消息推拉模式; 5數(shù)據(jù)庫架構(gòu),單機部署、讀寫別離、分表分庫; 6緩存架構(gòu),單臺緩存、分布式緩存、主從緩存。 LBSApp 后臺架構(gòu) 1地理坐標,GPS、基站、AGPSGPS+基站結(jié)合、WiFi定位; 2基于 MongoDB; 3推送效勞。 App 后臺架構(gòu)的演進 架構(gòu)的核心要素 軟件架構(gòu)是有關(guān)軟件整體結(jié)構(gòu)與組件的抽象描述,用于指導(dǎo)大型軟件系統(tǒng)各個方面的設(shè)計。App 后 臺架構(gòu)可以定義為由 App 后臺各個組件的功能描述、相互關(guān)系構(gòu)成的整體系統(tǒng)。App后臺

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論