元旦假期做了一個新的專案 —— Simple Poll System 簡易投票系統
https://github.com/jim60105/simple-poll-system
我為什麼寫這個呢?
上週薬袋アルマ舉辦
Vtuber 紅白活動,前兩天的會限直播在和大家測試投票系統。當時發現現成的問卷服務都不合用,不是要很多錢就是不即時,而最後用了
Google Form。 雖然 Google Form 是當下最好的選擇,但它不夠客製化,像是直播當下的紅組被顯示為藍色,而白組被顯示為紅色、無法內嵌投票結果在活動網頁上等等。
我就在想,要以這個需求來規劃一個小專案的話我會使用什麼技術實現它。然後就當作練練手...
這是一個以概念驗證和學習為目的而做的專案,目標是建構一個低成本、高流量的即時投票系統。投票只是一種簡單的應用,你可以把它代換為任何使用網頁前後端和資料庫的應用場景。
我選用了 Cloudflare Pages、 Cloudflare Page Functions、以及 Cloudflare D1 來達到這個目標。
特別提醒
撰文時 Cloudflare D1 正在進行公開測試。
即便它在體驗上運行良好,仍不建議在 production 上使用測試產品。
由 Cloudflare 處理網頁本身的流量,且在 Cloudflare Pages 並不以網頁流量計價。 Cloudflare Pages 的主要限制是建置頻率和檔案大小,這兩者在正常使用情況下不太可能超過免費額度。我在文件中沒有找到關於頁面承載能力的任何限制;然而,這是 Cloudflare。我不認為他們會在靜態網頁訪問上遇到流量瓶頸。
對 Cloudflare Functions 的 request 是被計算為 Cloudflare Workers request。 Cloudflare 提供免費層每天 10 萬次 request;而 5 美元的付費層有每月 1000 萬次額度,超過的每 100 萬次 0.30 美元。與其他的後端解決方案相比是另人驚訝的便宜,而且它幾乎沒有冷啟動!
Cloudflare D1 計價包括每天 10 萬次免費寫入和 500 萬次免費讀取。此額度是否足夠取決於請求量以及你的資料表設計和系統設計。至於付費層是每月 250 億次讀取和 5000 萬次寫入,和上面提到的是同一個 5 美元方案!
在規劃系統時,需要重點考量 API 訪問頻率以及對資料庫的讀寫操作,特別是當你的網站流量大的時候。
專案程式碼和詳細的設定步驟請見 GitHub:
https://github.com/jim60105/simple-poll-system
延伸閱讀
沒有留言:
張貼留言
本站遭到垃圾留言(病毒連結)攻擊,開啟審核模式。留言後並不會馬上公開顯示。