微服務 - micro service

微服務架構是解決巨型專案,設計方向由龐大專案拆解成小群獨立的服務軟體系統。

微服務架構特性,可以讓開發複雜性降低、開發速度,透過 RPC (Remote Procedure Call)方式呼叫。因此,
微服務 成為目前最常見的架構,若從舊系統來看是無法將舊系統拆解,可能使用傳統架構 “單體式系統架構”。

優點

  1. 降低開發認知複雜性
  2. 提升開發速度、規模
  3. 性能與可擴展性
  4. 可以獨立部署

缺點

  1. RPC 調用、呼叫方式大量增加
  2. 系統安全性管理更加有挑戰性
  3. 引入分佈式系統的複雜度

資安問題

  1. 分散式身份驗證與授權:微服務架構通常會將系統拆分成多個服務,這意味著需要對每個服務進行獨立的身份驗證和授權,並且確保這些服務之間的通信是安全的。
  2. 數據保護:在微服務架構中,不同的服務可能會存儲數據庫的不同部分,因此需要確保數據在存儲、傳輸和處理過程中得到充分的保護,以防止數據泄露或被竊取。
  3. API 安全性:由於微服務架構通常是通過 API 進行通信的,因此需要確保 API 是安全的,防止未經授權的訪問和其他安全威脅。
  4. 容器安全:微服務通常運行在容器中,需要確保容器本身的安全,防止容器內的應用程序被攻擊或滲透。
  5. 監控和日誌記錄:在微服務架構中,可能需要收集和分析多個服務的監控和日誌記錄,以檢測和防止安全威脅。因此,需要確保這些記錄的完整性和安全性。