踏入軟體工程領域後最深的體悟是:「在本地端跑得好好的,一上線怎麼就炸了?」在學校,專案的目標只讓功能正常運作;但實務上卻要面對不可預測的流量、極端的網路環境以及錯誤處理。
利用 30 天打造一個高併發的AWS S3 儲存微服務。拋棄傳統同步 Apache連線,實作基於 Netty 的非同步連線來突破效能瓶頸。建立堅固的容錯處理,確保檔案狀態一致性。透過壓力測試找出單一Docker部屬瓶頸,完整保留壓測結果來佐證每一次技術決策,最終部屬在K8s 叢集上,實作真正的 HA 高可用架構。
這系列文章將帶你學會如何剖析效能盲區、設計驗證實驗,完成從初階開發者到具備架構思維的決策者蛻變之旅!
「為什麼明明在本地端跑都好好的,為什麼一上線就炸了?」 剛踏入軟體工程師這個領域滿一年,這句話大概是我在心裡吶喊過最多次的一句話。以前在學校做專題或實驗時,...
在實作之前,我們必須先釐清真實世界的系統到底長什麼樣子。回想以前自己寫些小專案時,只要資料庫寫得進去、畫面出得來就好。但在真實的商業環境裡,不同類型的服務面臨著...
前兩天我們聊了系統設計的思維,以及高併發情境下(如演唱會搶票)伺服器連線池被榨乾的慘況。今天,我們終於要切入正題,來面對那個讓無數後端工程師頭痛的終極殺手——高...
昨天我們用餐廳的比喻了解了同步與非同步的差異。今天,我們要會透過程式碼,重現傳統同步連線在面對併發請求時,伺服器會面對哪些問題 為了專注於觀察底層行為,我們今天...
昨天我們親眼見證了同步連線的慘況:當大量併發請求湧入時,少量的執行緒會因為等待 I/O 而卡死(執行緒飢餓);但如果無腦加開成千上萬個執行緒,又會讓伺服器記憶體...
前幾天我們完成了本地端非同步模型的底層修煉,對非同步與 Event Loop 機制有了紮實的理解。今天開始,我們要正式跨入雲端戰場,利用 Java 21 與 N...
昨天實戰演練:雲端前哨站 AWS S3 最小權限原則(IAM)到本地服務連線我們成功建立了 AWS S3 Bucket,並利用最小權限原則配置了安全、專屬的 I...
前一篇 Day 7 左右開弓 : Java實作 Apache 同步與 Netty 非同步 S3 上傳裡面,我們成功在本地終端機中驗證了 Apache 同步與 N...
昨天我們用 Spring Boot 框架將 Apache 同步與 Netty 非同步引擎封裝成了對外的微服務 API。 理論說得天花亂墜,但在本機電腦上,這兩...
昨天我們用 JMeter 與 JConsole 進行了本地端的第一波大壓測,親眼見證了非同步 Netty 在面對高併發流量時,如何以極其穩定的執行緒表現,不過在...