微服務是一種軟件架構模式。架構
小:粒度小,專一一項業務app
獨:獨立部署,服務獨立測試、部署、升級、發佈框架
輕:輕量級通訊分佈式
鬆:鬆耦合。對語言和工具要求鬆,能夠選擇最契合業務的語言微服務
X軸,服務實例水平擴展,保證可靠性與性能;工具
Y軸,功能的擴展,服務單一職責,功能獨立;性能
Z軸,數據分區,數據獨立,可靠性保證;測試
VM(不推薦)接口
Docker進程
Docker是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的 Linux 機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口(相似 iPhone 的 app)。幾乎沒有性能開銷,能夠很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。
基礎設施自動化(devops、自動化部署)
分佈式事務:2階段、3階段、tcc
分佈式一致性:全局的分佈式事務;事件驅動
分佈式調度
分佈式全局id生成
服務命名、註冊、發現
服務治理
服務間通訊