分布式和微服務
首先,我認為微服務是壹種分布式框架。
分布式的思想是將壹個系統的不同模塊部署在不同的服務器上,來處理高並發的問題。
SOA是壹種分布式架構,將業務系統劃分為若幹個子系統,提供不同的服務,然後通過服務組合和安排來實現業務流程。通常,ESB企業服務總線在SOA架構中扮演著重要的角色。
微服務是SOA的升華。如果非要說不壹樣的話,那麽微服務強調服務的細分和專業化,去ESB總線,去中心化,部署粒度更細,服務擴展更靈活。
微服務不僅僅是技術架構。
很多同學談到微服務,都說是技術架構。有的推薦用Dubbo,有的推薦用SpringCloud。
在我看來,微服務不僅僅是壹個技術框架,還涉及到管理和組織架構。
在大部分公司,需求、開發、測試和運維是獨立的團隊,這實際上違背了微服務快速叠代的思想;在微服務的框架下,壹個服務應該由壹個團隊全權負責。
但是,組織結構真的不是我們能控制的。
壹定要用微服務嗎?
我覺得沒必要做微服;有的公司拆分了服務,但是數據庫還是同壹個庫,壹個項目的接口還是直接從另壹個項目上拆下來,然後就宣布完成了微服務的轉型...架構設計要根據需求背景、團隊開發能力、軟硬件實力來考慮。
壹個好的架構是可以進化的,而不是壹步到位的。
我會繼續分享我對Java開發、架構設計、程序員職業發展等方面的看法,希望得到大家的關註。