Apple將密碼監控服務後端由Java改為Swift,效能提升40%,記憶體用量降低一個量級,單一實例記憶體大幅縮減,99.9%請求延遲低於1毫秒,整體資源使用量減半

Apple近年推動軟體基礎架構現代化,繼在行動裝置與桌面端廣泛導入Swift後,最新重大調整是將密碼監控服務後端從Java改寫為Swift,並已在全球生產環境部署。根據Apple官方團隊說明,Swift版本的效能較Java提升約40%,同時能大幅降低記憶體用量。

密碼監控服務是Apple在2024年所推出Passwords應用程式的核心功能之一。該服務協助用戶於多裝置間管理密碼、通行密鑰與驗證碼,並即時檢查密碼是否外洩。而其服務後端運作在Linux基礎設施,須要長時間高效處理全球數十億裝置的查詢請求,對效能與擴充性要求嚴格。

Apple團隊表示,隨用戶規模擴大,Java雖具穩定性及豐富生態系,但在大規模服務下的資源使用率已經成為瓶頸。特別是在記憶體管理、JVM啟動速度與垃圾回收調校上,難以兼顧高並行(Concurrency)的即時性與運算效能。團隊在多次調校JVM後仍無法達成預期目標,因此評估以Swift重構系統架構。

採用Swift重寫後,服務單一實例記憶體需求從Java高峰時的數十GB降至數百MB,資源用量大幅減少。整體吞吐量提升約40%,99.9%請求延遲低於1毫秒,團隊指出,Swift具嚴謹型別系統、可選值與安全釋放機制,有助減少執行期間錯誤並提升程式碼可讀性。Swift語法設計也使開發人員能以更精簡且易於維護的方式建構模組化架構,重寫後程式碼行數約為原先的15%,有利於降低維運負擔。

在軟體架構方面,Apple採用Swift的Vapor伺服器端框架,並針對密碼監控需求,開發橢圓曲線密碼技術、稽核、設定及錯誤處理等自訂元件。針對高安全標準,密碼監控服務不會回傳用戶密碼至Apple,採用隱私集合交集(Private Set Intersection)等密碼技術協定,確保用戶隱私與安全。

Apple技術團隊進一步指出,Swift除了高效能與安全性,也具動態擴充能力,適合在Kubernetes等雲端原生架構運作。轉換後,密碼監控服務的資源使用量減半,使Kubernetes叢集可釋出更多資源供其他服務使用,進而提升整體系統的可用性與彈性。

熱門新聞

Advertisement