後端技術架構
- 後端: Express.js
- AWS Cloud Service:AWS EC2、AWS RDS(MySQL)、AWS Load Balancer
- 容器化工具:Docker
- CICD: GitHub Actions
- 測試: Jest
- 壓力測試:K6
- Cache、Rate Limiter:Redis
基本實作
- 用 middleware 的方式實作 JWT 驗證使用者身份
- 大頭貼部分是用 middleware 的方式透過 multer 來實作
- 利用 cursor pagination 處理分頁
- 使用 Redis 作為快取,以加速資料取得,並且作為 rate limiter,用 IP 來判斷使用者是否在一定時間內超過次數的進入網站
- 前後端串接時申請 SSL 並處理 CORS 問題
- 透過 Nginx 處理 Http/Https 的請求導向
- 使用 Docker Container 執行 MySQL、Nginx、Redis & Express 程式(Canchu)
- 透過 GitHub Actions 實作 CI/CD 完成自動化測試與部署至 Docker