iT邦幫忙

鐵人檔案

2026 iThome 鐵人賽
回列表
Software Development

學校沒教的後端生存指南:30 天打造非同步 S3 微服務,部署 K8s 實現 HA 架構 系列

踏入軟體工程領域後最深的體悟是:「在本地端跑得好好的,一上線怎麼就炸了?」在學校,專案的目標只讓功能正常運作;但實務上卻要面對不可預測的流量、極端的網路環境以及錯誤處理。

利用 30 天打造一個高併發的AWS S3 儲存微服務。拋棄傳統同步 Apache連線,實作基於 Netty 的非同步連線來突破效能瓶頸。建立堅固的容錯處理,確保檔案狀態一致性。透過壓力測試找出單一Docker部屬瓶頸,完整保留壓測結果來佐證每一次技術決策,最終部屬在K8s 叢集上,實作真正的 HA 高可用架構。

這系列文章將帶你學會如何剖析效能盲區、設計驗證實驗,完成從初階開發者到具備架構思維的決策者蛻變之旅!

參賽天數 21 天 | 共 21 篇文章 | 2 人訂閱 訂閱系列文 RSS系列文
DAY 1

[ Day 1 ] 為甚麼本地端好好的,上線怎麼炸了?告別通靈除錯的架構演進之旅

「為什麼明明在本地端跑都好好的,為什麼一上線就炸了?」 剛踏入軟體工程師這個領域滿一年,這句話大概是我在心裡吶喊過最多次的一句話。以前在學校做專題或實驗時,...

2026-08-28 ‧ 由 emmmma 分享
DAY 2

[ Day 2 ] 理想與現實的落差:大型系統到底在考量什麼?

在實作之前,我們必須先釐清真實世界的系統到底長什麼樣子。回想以前自己寫些小專案時,只要資料庫寫得進去、畫面出得來就好。但在真實的商業環境裡,不同類型的服務面臨著...

2026-08-29 ‧ 由 emmmma 分享
DAY 3

[ Day 3 ] 為什麼伺服器會卡死?圖解同步、非同步與阻塞的愛恨情仇

前兩天我們聊了系統設計的思維,以及高併發情境下(如演唱會搶票)伺服器連線池被榨乾的慘況。今天,我們終於要切入正題,來面對那個讓無數後端工程師頭痛的終極殺手——高...

2026-08-30 ‧ 由 emmmma 分享
DAY 4

[ Day 4 ] 傳統的極限:實作同步連線與執行緒飢餓(Thread Starvation)

昨天我們用餐廳的比喻了解了同步與非同步的差異。今天,我們要會透過程式碼,重現傳統同步連線在面對併發請求時,伺服器會面對哪些問題 為了專注於觀察底層行為,我們今天...

2026-08-31 ‧ 由 emmmma 分享
DAY 5

[ Day 5 ] 非同步救星:初探 Netty 與 Event Loop 事件驅動模型

昨天我們親眼見證了同步連線的慘況:當大量併發請求湧入時,少量的執行緒會因為等待 I/O 而卡死(執行緒飢餓);但如果無腦加開成千上萬個執行緒,又會讓伺服器記憶體...

2026-09-01 ‧ 由 emmmma 分享
DAY 6

[ Day 6 ] 實戰演練:雲端前哨站 AWS S3 最小權限原則(IAM)到本地服務連線

前幾天我們完成了本地端非同步模型的底層修煉,對非同步與 Event Loop 機制有了紮實的理解。今天開始,我們要正式跨入雲端戰場,利用 Java 21 與 N...

2026-09-02 ‧ 由 emmmma 分享
DAY 7

[ Day 7 ] 左右開弓 : Java實作 Apache 同步與 Netty 非同步 S3 上傳

昨天實戰演練:雲端前哨站 AWS S3 最小權限原則(IAM)到本地服務連線我們成功建立了 AWS S3 Bucket,並利用最小權限原則配置了安全、專屬的 I...

2026-09-03 ‧ 由 emmmma 分享
DAY 8

[ Day 8 ] 從引擎到微服務:用 Spring Boot 同時封裝 Apache 與 Netty S3 API

前一篇 Day 7 左右開弓 : Java實作 Apache 同步與 Netty 非同步 S3 上傳裡面,我們成功在本地終端機中驗證了 Apache 同步與 N...

2026-09-04 ‧ 由 emmmma 分享
DAY 9

[ Day 9 ] Jmeter 壓力測試 : 同步Apache vs. 非同步Netty連線AWS S3 API 效能對決

昨天我們用 Spring Boot 框架將 Apache 同步與 Netty 非同步引擎封裝成了對外的微服務 API。 理論說得天花亂墜,但在本機電腦上,這兩...

2026-09-05 ‧ 由 emmmma 分享
DAY 10

[ Day 10 ] 當延遲和封包遺失讓網路不再可靠:告別強一致性,擁抱最終一致性

昨天我們用 JMeter 與 JConsole 進行了本地端的第一波大壓測,親眼見證了非同步 Netty 在面對高併發流量時,如何以極其穩定的執行緒表現,不過在...

2026-09-06 ‧ 由 emmmma 分享