架構師訓練營第 1 期 - 第 04 周作業
一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。
典型大型互聯網應用系統有以下的問題與挑戰
高併發、大流量
高併發的用戶
大流量的訪問
解決的技術手段
針對影響用戶請求的各個環節進行性能優化
利用垂直伸縮或水平伸縮
針對應用程序
針對資料庫
針對文件系統
數據庫讀寫分離、數據動靜分離
利用緩存
本地緩存
分布式緩存
CDN
反向代理伺服器
利用集群及負載平衡器
利用異步架構
使用消息對列
自動化
監控
部署
集群擴容
高可用
系統需 7 x 24 不間斷服務
即使升級硬件或軟件時,依然必須保持高可用
用戶感受不到停機和升級
解決的技術手段
利用冗餘
針對應用程序
針對資料庫
針對文件系統
利用集群及負載平衡器
自動化
監控
部署
海量數據
需要儲存、管理海量數據
解決的技術手段
針對數據庫
對數據進行分片處理
進行讀寫分離
使用分布式數據庫集群
使用分布式文件系統
利用搜索引擎改善存儲能立及查詢速度
用戶分布廣泛、網路情況複雜
為全球用戶提供服務
各地網路情況千差萬別
營運商網路互通難
需管理多個數據中心
解決的技術手段
利用 CDN
利用反向代理伺服器
安全環境惡劣
互聯網是開放性的
更容易遭受駭客攻擊
須保證系統安全、防止非法訪問、數據洩密
解決的技術手段
身分認證
加密
驗證碼
編碼轉換
過濾
風險控制
需求快速變更、發布頻繁
為快速適應市場,滿足用戶需求
需求變化快速,產品發布頻率也提高
需快速適應新功能、開發新功能
軟件系統如何部署
軟件版本如何管理
模塊如何分解
解決的技術手段
業務拆分
利用分層及分割對軟體進行模塊橫向及縱向切分
分布式微服務架構
公用服務中台化
漸進式發展
所有大型互聯網均是從一個小網站,漸進發展起來的
系統架構如何因應由小到大、緩慢變化的過程
系統架構本身如何漸進式發展
解決的技術手段
業務拆分
模塊分層及分割
分布式部署
事件驅動架構
分布式微服務架構
公用服務中台化
版权声明: 本文为 InfoQ 作者【Panda】的原创文章。
原文链接:【http://xie.infoq.cn/article/b0ed311948b0678277c5ec9f5】。未经作者许可,禁止转载。
评论