對於伸縮性,你可能已經注意到了,在購買了最大型的冰激凌之後,你就沒辦法再擴大規模了。但有了單獨的部件機器(微服務)之後,你可以購買更多的部件機器。
對於可維護性,為了給冰激凌機增加新口味的冰激凌,卻不小心弄壞了草莓糖漏斗,因為一個大單體系統的不同部分通常是相互依賴的,修改某個部分會影響到其他部分。而在微服務架構裡,不同的機器由不同的團隊負責,每個團隊管好自己負責的機器,避免了衝突。這種獨立的開發模式也加快了發版的速度,因為在一個大型組織裡,團隊內的溝通比團隊間的溝通效率更高。
關於成本,你可能會想,多買幾臺大冰激凌機不就能解決伸縮性問題嗎?但也請試想一下,如果你只想增加冰激凌口味並保持其他部分不變,你不得不為此購買整套機器。而在微服務機構中,你可以只買冰激凌勺機。這樣就節約了很多成本,因為你可以根據每個服務的請求量來增加或者減少單個服務的例項數量。
關於就緒時間,大冰激凌機已經把所有的部件都整合好了,只要把它放在正確的地方,並啟動它就可以了。但是,獨立的部件機器在使用前需要用傳送帶把它們連線在一起。因此,微服務需要更多的時間和專業知識才能讓它執行起來。
在測試和部署方面,大冰激凌機的測試和部署相對困難,因為所有的部件相互依賴,需要每個部件都整合好了才能測試和部署。但對於部件機器來說,因為每種機器都是獨立的,所以測試和部署也相對容易。
以上就是今天的內容,你理解單體與微服務是什麼了嗎?
原文連結[有牆]:Beginner’s Guide to Microservices: Explaining it to a 5 Year Old