技術問答
技術文章
iT 徵才
Tag
聊天室
2025 鐵人賽
登入/註冊
問答
文章
Tag
邦友
鐵人賽
搜尋
2024 iThome 鐵人賽
DAY
10
0
自我挑戰組
技術隨筆
系列 第
10
篇
資料同步的實作選擇
16th鐵人賽
sixwings
2024-09-24 23:57:28
237 瀏覽
分享至
當專案需要保存外部資料源而且需要確保外部資料源維持在最新狀態時,就會需要作資料同步的動作。以下簡介可以選擇的幾種作法(本篇屬筆記性質,供參)
輪詢 polling: 最常見的作法,一樣維持原本 request 取得資料的方式,最容易實作,但對於外部資料源的伺服器負擔比較大
伺服器推送 Server-Sent Events: 由 client 發起,但能夠達到伺服器推送資料效果的作法,比 websocket 的複雜度低,但是不支援雙向傳輸
WebSocket: 可以實現資料同步的需求,在資料變更時能夠主動告知 client
Webhooks: 高效的實作,但 client 需要支援 POST request, 而且有相對的安全議題需要注意
額外的優化項目
使用分頁參數: 降低資料傳輸量
使用 updated_at 過濾掉已同步過的資料內容
把「資料刪除」也視為一種異動,返回資料刪除的標記代表刪除
使用更動標記提示內容有改動的資料欄位
根據資料異動的頻率調整 polling 的週期
留言
追蹤
檢舉
上一篇
沒有 docker registry 要怎麼保存 image? - 低配版 docker image 管理方法
下一篇
安全性 UP - 避免 root 帳號打通關
系列文
技術隨筆
共
30
篇
目錄
RSS系列文
訂閱系列文
2
人訂閱
26
Laravel 11 升級指南 & 版本管理策略
27
透過 Protobuf 改善 JWT 傳輸性能是可行的嗎?
28
PHP 未來可能支援原生的事件迴圈嗎?
29
OAuth 在 2024 年的發展現況
30
古老但值得學習的技術 - Lisp
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
902
組
團體組數
37
組
累計文章數
19804
篇
完賽人數
529
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
看更多
15th鐵人賽
16th鐵人賽
13th鐵人賽
14th鐵人賽
17th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
react
熱門問題
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
維護合約的合理性
如何讓Windows 11 Professional 開啟Synology DS925+網路芳鄰的速度加快?
librenms 25.4.0 重開機都要重新設定
Librenms ssl憑證檢查 通知方式-已解決
如何找到電腦網路行為的觸發原因?
Exchange EMS掛掉導致Q信(2016)
檔案伺服器移轉
熱門回答
維護合約的合理性
桌機三更半夜自動開機不知在幹啥?是在下載還是在上傳資料?嚇死寶寶.去查設定我沒有設定在三更半夜更新或是掃毒呀!去查紀錄亦沒有當日凌晨的瀏覽紀錄,這到底是怎麼一回事,要如何查詢?是被安裝了病毒軟體?
librenms 25.4.0 重開機都要重新設定
Librenms ssl憑證檢查 通知方式-已解決
如何找到電腦網路行為的觸發原因?
熱門文章
C++開啟資料夾及檔案的方法
Microsoft AZ-305 認證考試介紹
TrueNAS:從入門到入土心得錄02
從 13 秒到 <1 秒:我用 AI 重寫 Google Apps Script 記帳系統
技術小書打槍重新整理中 結果發現三十天寫得好少題:"( 一次要補七題..
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}