用戶端-伺服器架構

是什麼

在用戶端-伺服器架構(又可被稱爲主從式架構)中,構成應用程式的邏輯(或者說程式碼)會被拆解至兩組或是多組元件: 一組用戶端負責發起工作請求(例如在你的瀏覽器裡執行的 Gmail 網頁應用程式), 以及一組或多組伺服器負責滿足這個請求(例如執行在 Google 雲端的「發送郵件」服務)。 舉例來說,你撰寫的外寄電子郵件是由用戶端(在你的瀏覽器裡執行的網頁應用程式) 傳送到伺服器(Gmail 的伺服器,這些伺服器會將你的外寄電子郵件轉寄給收件人)。

這與獨立式應用程式(例如桌面應用程式)形成對比,後者將所有的工作集中於一處完成。 舉例來說,像是 Microsoft Word 這樣的文字處理程式,可以完全安裝並在你的電腦上執行。

解決的問題

用戶端-伺服器架構解決了獨立式應用程式面臨的一大挑戰:定期更新。 對於獨立式應用程式,每一次的更新,都需要使用者自行下載並安裝最新版本。 試想如果你在瀏覽 Amazon 的產品目錄前,需要先將其完整下載到你的電腦上才能開始瀏覽!

如何幫助我們

透過在遠端伺服器或是服務中實現應用程式的邏輯,維運人員可以在不改動用戶端邏輯的情況下進行更新。 這意味著可以更頻繁地進行更新。 將資料存儲在伺服器上,允許多組使用者查看和共享相同的資料。 試想看看線上文字處理器與傳統的離線文字處理器之間的使用差異。 在前者中,你的檔案是儲存於伺服器上並可以與其他使用者共享,他們只需從伺服器下載即可。 在傳統世界中,檔案需要先複製到可移除式媒體(像是磁碟片!)中並與個別用戶分享。