software
學習後端基礎 2 - 後端通訊設計模式
上一回我們介紹了最基本的 Request–Response,以及同步與非同步的概念。那些都是「事情馬上就會有結果」的情境,但在真實世界裡,更多時候是——事情還沒發生,但我們已經在等了。 例如新訊息、訂單狀態、外送進度、即時通知。 問題不在於怎麼拿資料,而是: 資料還沒出現的時候,系統要怎麼應對? 這時候,就會出現幾種不同的設計方式,其中最常見的就是 Polling、Long Polling 與 Push。 Polling:每隔一小段時間就再問一次 Polling 是最直覺、也最符合人類本能的一種做法。 不知道狀態有沒有更新,那就隔一段時間來確認一次。 就像你在等一個重要訊息,忍不住一直拿起手機解鎖看看有沒有新通知。大部分時候什麼都沒有發生,但你還是會不斷確認,因為你不想錯過。 我自己實作過、印象很深刻的一個例子,是串接 TW FidO 的行動自然人憑證驗證服務。使用者在登入頁面上會看到一個 QR code,接著拿出手機,用行動自然人憑證