無服務器交互系統采用的是FaaS(function as a service,函數即服務)架構。它是一種以函數作為設計基礎的網絡架構,也就是說,它是面向功能組件的而不是面向服務器的。
在設計時,面向服務器與面向功能最大的區別是,前者是通過設置層層緩存來保障能夠穩定的對服務器進行調用,后者是通過對功能細化和對功能進行針對性的擴展來完成對特定功能的調配。
無服務器交互系統在架構設計上有兩個特點,一是要以設計交互功能為主,二是要對交互部分進行可擴展性的提高。我們以傳統郵件設計和無服務器交互系統下的郵件設計為例來說明這兩種互聯網架構的區別。
在傳統的郵件架構中,系統是通過特定網絡協議和多層級服務器來架構的,其中SMTP是常用的基于文本的協議,除了通過該協議進入網絡,還需要經過郵件訪問協議訪問相關服務器和鏡像。這種架構需要多次和服務器進行交互,并通過不同的協議進行通訊,而用戶也要通過不同的協議進行查看。
在無服務器交互系統的郵件架構中,系統只需要設計進入網絡前的功能和從網絡進來時需要實現的功能即可,不需要考慮協議的部分,也就是說,只需要站在進入網絡前和從網絡進入客戶端這兩個角度設計交互系統即可。
以郵件系統為例,交互功能分為發送郵件和接收郵件兩種,發送郵件又可以細分為加密附件和
區塊鏈上狀態改變,接收郵件又可以細分為解密附件和區塊鏈狀態改變。將大功能細分成小功能的架構是無服務器交互系統設計的規則。
在本例中,加密附件部分非結構化的交互數據可以用加密存儲的方式進行傳輸,通過本地的非對稱簽名就可以完成,也就是說加密過程沒有離開用戶的本機,只有用戶知道如何解密,也只有用戶能讓別人知道如何解密。KV的結構化數據則使用區塊鏈來記錄狀態改變,由節點共同維護。
系統架構只需要處理如何用分布式存儲來做非結構化數據的接收發送,以及用區塊鏈記錄結構化的包括接收者發送者信息在內的微服務數據,之后就可以專注于提升用戶的前端體驗。
通過面向發郵件和收郵件功能組件的系統設計,實現了通過分布式的節點來保障收發郵件的功能,完成了無服務器交互系統下的郵件系統架構。
對比傳統架構,會發現在無服務器交互系統下,新一代的互聯網具有如下特征:
1.無需對服務器維護。這意味著企業可以用更低的成本來構建一個交互型的系統,用戶的數據也不會被無端記錄和被中心化壟斷數據使用權。
2.可以設計自適應功能來擴展、提?功能的性能,比如在郵件系統的設計中,可以根據實際需求調整收發郵件的不同組件的性能。這意味著企業可以用更低的成本來維護一個高頻次的交互系統,用戶也可以更流暢的使用互聯網。
3.通過對密鑰的控制實現對資源的管理。這意味著企業可以根據密鑰信息把用戶引導到正確的資源上,用戶可以通過對資源的驗證來保障自己的訪問安全和數據隱私。
4.通過對存儲的控制實現對交互的管理。這意味著企業可以通過整合加密存儲到函數的方法來實現交互,比如企業把十個資源分享到網上,并通過相關公鑰來使用資源,當企業需要替換兩個資源時,只需要更改對應的公鑰就能實現,在這種方式下,用戶也可以與系統更平穩的進行交互。
版權申明:本內容來自于互聯網,屬第三方匯集推薦平臺。本文的版權歸原作者所有,文章言論不代表鏈門戶的觀點,鏈門戶不承擔任何法律責任。如有侵權請聯系QQ:3341927519進行反饋。