微服務是軟體產業最成功的騙局。它讓小團隊誤以為自己在“大展宏圖”,卻暗中削弱了他們的行動能力。它利用人們的不安全感來迎合他們的雄心壯志:如果你沒有運行一系列服務,你還能算是一家真正的公司嗎?先不說這種架構最初是為了因應全球規模的組織功能障礙而發明的。現在,它卻被強加給那些仍然共用一個Slack頻道和一張午餐桌的團隊。 小型團隊依靠共享上下文協同運作,這是他們的致勝法寶。每個人都能進行端到端的推理,每個人都可以修改任何內容。微服務一出現就徹底摧毀了這種優勢。它們用分佈式的無知取代了共享的理解。沒有人再擁有整體,每個人都只擁有一支分片。系統不再是團隊主動理解的,而是團隊被動接受的。這並非技術上的進步,而是能力的喪失。 接下來就是運維鬧劇。每個服務都需要自己的管線、金鑰、警報、指標、儀表板、權限、備份,以及一系列繁瑣的維護流程。你不再是“部署”,而是同步整個叢集。一個 bug 現在需要對多個服務進行全面剖析。功能發布變成了一場跨越你毫無理由地人為劃定的邊界的協調行動。你沒有簡化你的系統,而是把它徹底摧毀,然後把殘骸美其名曰「架構」。 微服務架構也把無能鎖在琥珀裡了。你被迫在還沒完全理解自身業務之前就定義 API。猜測變成了契約。糟糕的想法變成了永久依賴。每一個早期的錯誤都會像癌細胞一樣擴散開來。在單體架構中,錯誤的想法可以透過重構來修正。但在微服務架構中,錯誤的想法會變成基礎設施。你不僅會後悔——你還得託管它、管理版本、監控它。 認為單體架構無法擴展的說法是現代工程領域最愚蠢的謊言之一。真正無法擴展的是混亂,是流程的拙劣模仿,是假裝自己是 Netflix 卻交付一個華而不實的 CRUD 應用。只要團隊擁有紀律、測試和克制,單體架構就能很好地擴展。但克制並不時髦,枯燥乏味的內容也無法在會議上發表。 對小型團隊來說,微服務並非技術上的錯誤,而是理念上的失敗。它大聲宣告團隊不相信自己能夠理解自身的系統。它用協議取代了責任,用中間件取代了發展動力。你得到的不是“面向未來”,而是永久的拖累。等到你最終達到足以支撐這種「鬧劇」的規模時,你的速度、清晰度和產品直覺早已蕩然無存。
正在載入線程內容
正在從 X 取得原始推文,整理成清爽的閱讀畫面。
通常只需幾秒鐘,請稍候。