昨天在 frontend 社團有 backend 工程師來發問「一個要花費 20 秒的 API,backend 難道不能讓 frontend 等 20 秒再回傳給 frontend 嗎?為什麼有些做法都是先回 201 然後再用 websocket 回傳結果呢?」
當然可以啊,但使用者體驗會很差,這裡把昨天小編的回文拿回來再補充一下。
---
一個 20s 的 request 會遇到幾個問題
1. client 的話的使用者體驗很差,在瀏覽器等了 5s 我就想關網頁了,更何況 20s。
2. 如果使用者在 5s 的時候關網頁,這時候 server 還是會繼續把後面的 15s 處理完。
3. 如果使用者此時又發 request,然後在 7s 的時候又關網頁,這樣子有兩個耗時的工作在後端處理,而且還沒辦法讓前端知道。
4. 使用者都很沒有耐心,如果有 10 個人重複做了 2 3 步,這樣就有 20 個耗時的工作。
5. 如果是 CPU bound task,你的 server 應該會卡死。
6. client 跟 server 各自都有 timeout 的設定,而且 server 前面如果還有擋 nginx 或是其他 cloud provider 的話,光是 timeout 的設定就搞死你了。
---
建議的作法,把真的必要的工作處理完,threshold 最多設 3s,超過的一律丟到 MQ 處理。然後在前端顯示,請他稍後再回來更新網頁,這是最簡單的。每個系統 (OLAP 或 OLTP) 的 threshold 不同,請自行考量。
要不然 polling 也行,每 3 秒拉一次,確認工作是否完成。
最聰明的當然就是透過 push notification 或 websocket 讓 client 得知工作是否已完成。
---
https://hahow.in/cr/kewang-backend
看到這裡,要宣傳小編的後端課程啦!上面回答的這些內容,都會在課程裡面分享喔,還不快去下單!
#backend #frontend #mq
olap oltp 在 iThome Facebook 的精選貼文
本周重點新聞彙整
⭐ CRM龍頭Salesforce重金收購協作通訊平臺Slack
⭐ 甲骨文讓MySQL同時結合OLTP及OLAP能力
⭐ 明年1月數位身分證試辦區域縮小為新竹市
⭐ 金管會核發首張純網銀執照,由樂天國際銀行先取得
⭐ 科技部領軍將籌組量子國家隊
⭐ 蘋果啟動小企業申請App Store佣金減半方案
⭐ FBI警告BEC詐騙濫用自動轉寄
https://www.ithome.com.tw/news/141618
olap oltp 在 軟體開發學習資訊分享 Facebook 的最讚貼文
--課程已於 2020 年 12 月更新--
課程說明
你是否對資料科學或是資料分析有興趣?
在這種情況下,你將不得不在工作中遇到資料庫。
但是如何與資料庫進行互動?
答案很簡單:SQL
SQL代表結構化查詢語言,這是用於組織資料庫,輸入資料並根據請求提取資料的主要工具之一。
在本課程中,你將學習如何在名為 PostgreSQL 受歡迎的 SQL 變種資料庫中創建查詢。
即使在您的工作場所,你正在使用不同的變種(例如Oracle,SQL Server或MySQL),你將發現在本課程中學習的技能很容易轉移。
但是有很多SQL課程在那裡,所以問題是:
什麼使這門課程脫穎而出?
本課程的獨特之處在於,除了學習SQL之外,你還將掌握資料庫設計的概念。
我們將涵蓋以下主題:
✅OLAP 與 OLTP 資料庫(線上分析處理和線上交易處理):你將準確了解這兩種資料庫的設計有何不同
✅資料庫正常化:我們將向你展示正常化背後的理論和我們一起練習如何逐步正常化資料庫
✅Schemas :資料庫中的 snowflake,star 和其他 schemas 之間有什麼區別,以及如何將它們用於符合你的利益
為什麼這麼重要?
✅了解資料庫的設計並不是資料科學家/分析師的必修技能。然而,這是一個巨大的附加價值。
✅這些技能將使你能夠更好地與資料庫進行互動,從而獲取結果並更快地從資料中提取洞察數據。
本課程是針對資料科學家和分析師設計的,所以如果你想推動你的資料科學生涯,那麼這個課程是為你設計的!
https://softnshare.com/sqldatabases/
olap oltp 在 OLAP vs. OLTP - Sung-Soo Kim's 的推薦與評價
In OLTP database there is detailed and current data, and schema used to store transactional databases is the entity model (usually 3NF). OLAP ( ... ... <看更多>
olap oltp 在 OLAP/OLTP: What does "online" mean? - Stack Overflow 的推薦與評價
... <看更多>