iT邦幫忙

2025 iThome 鐵人賽

DAY 1
3

筆者為了從零開始學習這三個技術所以揉合出這個主題。

主要是把實作驗證後的知識記錄下來,除了實作步驟,也會講為什麼這麼做、背後的優缺點是什麼,讓理論跟實作並行。

學習的過程會用很多不同 AI 工具,也是筆者一個嘗試將 AI 融入消化知識的流程裡,透過摸索跟驗證找到更適合特定場景跟目的的學習工具包。

這一系列主要會專注在 Golang 學習,大約會有 50%,那 Elasticsearch 約 25%, Kubernetes 為 25%。

這個系列是面向讀的是對於這三種技術都沒有相關知識跟經驗的工程師。如果有 Python, Node.js 等後端經驗有助於上手,但沒有也不妨礙閱讀與實作。

在這一系列文章結束後,你可以獲得一個 GitHub repo 跟初學者指南。

如果有任何想法,都歡迎留言交流。

草擬大綱如下:

Phase 1 — Golang(Day 2–15)→ Day 16 Recap

Day 主題 目標
1 前言 系列動機、專案說明、開發環境準備
2 專案骨架 go mod init、REST /healthz 起跑
3 測試骨架 table-driven 單測 2 則
4 中介層 結構化日誌、Recovery、設定
5 API 成形 /search 先回假資料
6 context/timeout 所有外呼加 timeout
7 錯誤策略 %w 包裝、分類重試(退避+抖動)
8 微基準 go test -bench 建立基線
9 併發基礎 worker pool(有限併發)
10 pprof 找到 1 個熱點並改善
11 指標輸出 暴露 QPS/Latency
12 ES 介面層 定義 SearchService(尚未連 ES)
13 整合測試 以假 ES 寫 E2E
14 打通真路徑 連上本機 ES 的 smoke test
15 穩定化 清理目錄、補測試、寫 README
16 Recap 複習 Golang 內容

Phase 2 — Elasticsearch(Day 17–22)→ Day 23 Recap

Day 主題 目標
17 安裝 Docker 單節點、固定 mapping
18 查詢打底 match/bool/terms
19 分頁方案 換成 search_after
20 Bulk 匯入 5–10 萬筆
21 參數調優 微調刷新/副本並壓測
22 備份還原 1 次 Snapshot/Restore
23 Recap 複習 Elasticsearch 內容

Phase 3 — Kubernetes(Day 24–29)→ Day 30 總結

Day 主題 目標
24 容器化 多階段 Dockerfile、probe
25 基礎部署 Deployment + Service + Config/Secret
26 資源治理 Requests/Limits 就位
27 HPA 設 CPU HPA、叢內 hey 壓測
28 邊界與權限 最小 NetworkPolicy、RBAC
29 觀測 & 小故障演練 Prom/Grafana 最小看板、刪 Pod、記 MTTR
30 Phase 3 Recap & Final 複習 Kubernetes 內容,全系列回顧、反思與展望

Let’s learn in public!🚀


下一篇
Day 2 - 專案骨架:Go 專案起跑
系列文
用 Golang + Elasticsearch + Kubernetes 打造雲原生搜尋服務27
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
nihilitypeo
iT邦新手 2 級 ‧ 2025-09-30 14:55:33

哇!很期待

0
Wolke
iT邦研究生 4 級 ‧ 2025-10-10 16:33:55

嗨!版主您好,非常期待您的系列文章!

看到您從零開始學習 Golang、Elasticsearch 和 Kubernetes 的決心與詳細規劃,真的非常佩服。尤其是將實作與理論(優缺點、背後原因)結合,並融入 AI 工具協助消化知識,這個學習方法本身就很有啟發性。

大綱規劃得非常詳盡且有系統,從 Go 的基礎到 ES 的優化,再到 K8s 的部署與觀測,對於沒有相關經驗的工程師來說絕對是一份寶貴的指南。特別喜歡您強調「為什麼這麼做」和背後的優缺點,這對建立深層理解至關重要。期待這個系列的完整呈現!

也歡迎版主有空參考我的系列文「南桃AI重生記」:
https://ithelp.ithome.com.tw/users/20046160/ironman/8311

我要留言

立即登入留言