Jasper Sui | Home

用文字紀錄容易忘記的事情是金魚腦的唯一解藥

利用 Sentry 實作分散式追蹤 (Distributed Tracing)

前言 目前手上碰的專案都是用 Sentry 來協助追蹤 API 和 Asynchronous Tasks 的,可以用一種識別碼來作為 Filter 的一種粒度,篩出對應服務的 Issue 和 Performance。 整體用起來的效果很好,每個月的費用也很親民,尤其對於 Python 用戶體驗更是一流,強烈建議若是有相關需求的話可以引入 Sentry 到專案內,可以省去不少麻煩。 ...

用 Python 實作 LRU Cache 機制

前言 一陣子沒有寫文章了,最近沒有什麼靈感,前陣子在看一些 System Design 的文章時,看到題目中有提到 LRU Cache 機制,覺得挺有意思的就想著要來用 Python 來實作一個簡單的 LRU Cache 機制。 因為要有效率地運用電腦有限的空間,不能把所有要記錄的東西都存在某個儲存空間上,所以必須要有個機制來汰換資料,而汰換資料的方法大略分為下列四種: FIFO...

[K8s + Jenkins] 將舊有 Django 專案翻新 (8) - 結語

正文 終於將這次的小專案在距離第一篇文章的 18 天後做完了,其實當時給自己一個月的時間來做算是有點久,但主要就是想讓自己壓力不要太大,但是還是必須要持續不斷學習和成長。 前陣子在公司有試圖想要揪人一起參與寫 Blog 的活動,互相督促並提出建議,並給了每個禮拜寫兩篇文章的要求,但很可惜沒有辦法能和公司同事們一起討論,所以後來就變成自己一樣限制自己每個禮拜至少要寫兩篇文,只能等之後有其他...

[K8s + Jenkins] 將舊有 Django 專案翻新 (7) - Jenkins

前言 為了生出這篇文,卡了兩三天才做出來,遇到了好多問題但也都一一解決了,如果沒有同事 Nick 和 Jing 兩位大神每次都在我卡關的時候給我一些想法和建議,我可能要花兩倍甚至更久的時間來踩雷,除了感謝沒有其他詞可以用來表達我的心情了! 正文 在上一次,我們將 Ingress 部署起來,已經可以看到我們的網站在 Ingress 被派發的 IP 位址上被瀏覽了,其實只要這樣子就是一個高...

[K8s + Jenkins] 將舊有 Django 專案翻新 (6) - Ingress

正文 現在已經把所有會用到的 Service、Deployment 都部署完成,但是總不能每次都只能用 Port-Forwarding 的方式來連到網站,所以我們需要 Ingress 來當作我們的 LoadBalancer,可以用來依照我們的規則轉發請求給對應的 Service,流程圖如下: 因為目前只有一個主要的 Service,這次也只是拿來讓外部使用者可以透過 GCP 派發給 ...

[K8s + Jenkins] 將舊有 Django 專案翻新 (5) - Django Static File With Nginx

正文 這篇單獨拿出來講的原因,是因為在前面都把所有 Deployment 執行起來,用 kubectl port-forward 直接連進 Pod 裡面看一下專案有沒有正常執行後,發現所有的 Static 檔案都沒有被正確映像到指定的路徑,但原本就有將 static-volume 用 emptyDir 的方式來分享靜態檔,而 emptyDir 的特性如 K8s Document 所說: ...