架構師訓練營第 1 期 - 第 04 周作業

用户头像
Panda
关注
发布于: 2020 年 10 月 11 日

一个典型的大型互联网应用系统使用了哪些技术方案和手段,主要解决什么问题?请列举描述。

典型大型互聯網應用系統有以下的問題與挑戰

高併發、大流量

  • 高併發的用戶

  • 大流量的訪問

  • 解決的技術手段

  • 針對影響用戶請求的各個環節進行性能優化

  • 利用垂直伸縮或水平伸縮

  • 針對應用程序

  • 針對資料庫

  • 針對文件系統

  • 數據庫讀寫分離、數據動靜分離

  • 利用緩存

  • 本地緩存

  • 分布式緩存

  • CDN

  • 反向代理伺服器

  • 利用集群及負載平衡器

  • 利用異步架構

  • 使用消息對列

  • 自動化

  • 監控

  • 部署

  • 集群擴容

高可用

  • 系統需 7 x 24 不間斷服務

  • 即使升級硬件或軟件時,依然必須保持高可用

  • 用戶感受不到停機和升級

  • 解決的技術手段

  • 利用冗餘

  • 針對應用程序

  • 針對資料庫

  • 針對文件系統

  • 利用集群及負載平衡器

  • 自動化

  • 監控

  • 部署

海量數據

  • 需要儲存、管理海量數據

  • 解決的技術手段

  • 針對數據庫

  • 對數據進行分片處理

  • 進行讀寫分離

  • 使用分布式數據庫集群

  • 使用分布式文件系統

  • 利用搜索引擎改善存儲能立及查詢速度

用戶分布廣泛、網路情況複雜

  • 為全球用戶提供服務

  • 各地網路情況千差萬別

  • 營運商網路互通難

  • 需管理多個數據中心

  • 解決的技術手段

  • 利用 CDN

  • 利用反向代理伺服器

安全環境惡劣

  • 互聯網是開放性的

  • 更容易遭受駭客攻擊

  • 須保證系統安全、防止非法訪問、數據洩密

  • 解決的技術手段

  • 身分認證

  • 加密

  • 驗證碼

  • 編碼轉換

  • 過濾

  • 風險控制

需求快速變更、發布頻繁

  • 為快速適應市場,滿足用戶需求

  • 需求變化快速,產品發布頻率也提高

  • 需快速適應新功能、開發新功能

  • 軟件系統如何部署

  • 軟件版本如何管理

  • 模塊如何分解

  • 解決的技術手段

  • 業務拆分

  • 利用分層及分割對軟體進行模塊橫向及縱向切分

  • 分布式微服務架構

  • 公用服務中台化

漸進式發展

  • 所有大型互聯網均是從一個小網站,漸進發展起來的

  • 系統架構如何因應由小到大、緩慢變化的過程

  • 系統架構本身如何漸進式發展

  • 解決的技術手段

  • 業務拆分

  • 模塊分層及分割

  • 分布式部署

  • 事件驅動架構

  • 分布式微服務架構

  • 公用服務中台化



发布于: 2020 年 10 月 11 日 阅读数: 18
用户头像

Panda

关注

还未添加个人签名 2015.06.29 加入

还未添加个人简介

评论

发布
暂无评论
架構師訓練營第 1 期 - 第 04 周作業