第一,要記住微服務不是解決所有問題的萬能"銀彈"。
第二,編寫整潔的代碼和使用自動化測試至關重要,因為這是現代軟體開發的基礎。
第三,關注微服務的本質,即服務的分解和定義,而不是技術,如容器和其他工具。
第四,確定你的服務松耦合,并且可以獨立開發、測試和部署,不要搞成分布式單體(Distributed Monolith),那将會是巨大的災難。
第五,也是最重要的,不能隻是在技術上采用微服務架構。擁抱 DevOps 的原則和實踐,在組織結構上實作跨職能的自治團隊,這必不可少。還必須記住∶
實作微服務架構并不是你的目标。你的目标是加速大型複雜應用程式的開發。
當問題足夠大、有足夠多的不确定性因素時,人們習慣把大的問題拆分成小的問題,通過分割、抽象和重用小而可靠的功能子產品來建構整體的方案。
但是當這些小的、可重用的部分越來越多時,又會出現新的問題。