Recent posts

DevOps - 實作你自己的 GitHub Actions

category: devops     6 minute read     Posted on:

Implement Your Own GitHub Actions 定義一個客製化的 action 非常簡單,你只要指名 輸入, 輸出 以及 程式進入點 就可以了 而上述的資料必須寫在一個名為 action.yml(或 action.yaml) 當中就可以了

資料庫 - 機率型資料結構 Bloom Filter 在 Cache 中的應用

category: database     4 minute read     Posted on:

Cache Issues 就像我們在 資料庫 - Cache Strategies 與常見的 Solutions | Shawn Hsu 當中提到的 如果碰到惡意攻擊,查詢不在 cache 也不在 database 裡面的資料,那麼所有的請求都會直接到 database,然後又會直接被打爆 所以其實在這種狀況底下...

多開 Goroutine 的效能瓶頸以及 Garbage Collection 對其的影響

category: random     9 minute read     Posted on:

Preface Goroutine 作為 Golang 的一大特色 其輕量且快速的特性,使得其的開銷相比 process 以及 thread 要來的低上許多 因此人們往往會將 Goroutine 用在非同步的操作上,比如說 I/O 或者是 CPU-bound 的操作 用以達到併發的效果

Kubernetes 從零開始 - Pod 高級抽象 Workload Resources

category: kubernetes     6 minute read     Posted on:

High Level Abstraction 之前提到 Pod 是 Kubernetes 當中部署的最小單位,因為其設計關係(比如說容易被 reschedule 以及被刪除等等),是比較不適合直接操作的 因此 Kubernetes 提供了更高層次的抽象,讓我們可以更方便的管理 Pod 本文將會走過一遍這些更高階的...

Kubernetes 從零開始 - 你的 Volume 到底 Mount 到哪裡去了?

category: kubernetes     9 minute read     Posted on:

Introduction to Kubernetes Volume 從 Docker 的年代開始,掛載 host 的檔案系統不是什麼新鮮事 而 mount 的方式也很直覺,直接指定 host 的檔案路徑,你就能夠在 container 裡面存取相關的資料 到了 Kubernetes,也是有一樣的概念,但是 mou...

Kubernetes 從零開始 - 在分散式的世界實現 Zero Downtime 路由管理

category: kubernetes     16 minute read     Posted on:

Proxy Proxy 是一個中間人,負責處理 client 與 server 之間的溝通請求 相比於 client 直接與 server 溝通,Proxy 的優勢在於可以進行流量控制、負載平衡、安全性控制等 他可以分為兩類 Forward Proxy 以及 Reverse Proxy

Kubernetes 從零開始 - 部署策略 101

category: kubernetes     29 minute read     Posted on:

Scaling Workloads 只有單台機器服務的情況下,多數是不足的 因為你需要考量到,比如說服務突然的不可用(軟體錯誤、硬體故障等等的),或者是流量真的大到一台機器處理不來的情況 這時候你就會需要用到 “scaling” 的概念

資料庫 - Delayed Queue 的設計與考量

category: database     4 minute read     Posted on:

What is Delayed Queue? Delayed Queue 是一種特殊的 message queue 與一般的 message queue 不同,Delayed Queue 裡面的資料並不會被立即取出 你可以對每個 message 設定一個延遲時間 只有當時間到了之後,資料才可以被 consumer...

玩轉 Syslog 第一次就上手

category: random     6 minute read     Posted on:

Introduction to Syslog 任何運行中的系統都會有 Log,主要是為了方便除錯、監控以及分析等等的 可以說沒有 Log 的系統是沒有辦法運作的

神奇的演算法 - 分組的好朋友 Union Find

category: algorithm     3 minute read     Posted on:

Introduction to Union Find Disjoint Set 是一種資料結構,用來管理一組互不相交的集合(disjoint sets)。每個集合中的元素都是唯一的,且不同集合之間沒有共同的元素。