微服務:它提倡將單一應用程序劃分紅一組小的服務,每一個服務運行在本身的進程中,Dubbo通訊基於rpc(遠程過程調用),cloud基於Http(RESTful API),可以自行單獨啓動或銷燬,擁有本身獨立的數據庫數據庫
優勢:架構
代碼容易理解,能聚焦一個指定的業務功能或業務需求框架
不管開發階段或部署階段都是獨立的分佈式
能夠使用不一樣的語言開發微服務
易於第三方集成spa
微服務技術棧3d
SpringBoot和SpringCloud的關係?代理
SpringBoot專一於快速方便的開發單個個體服務。code
SpringCloud是關注全局的微服務協調治理框架,它將SpringBoot開發的一個個單體服務整合並管理起來。爲各個微服務之間提供,配置管理,服務發現,斷路器,路由,微代理,事件總線,全局鎖,決策競選,分佈式會話等集成服務。cdn
SpringBoot能夠離開SpringCloud獨立使用開發項目,可是SpringCloud離不開SpringBoot,屬於依賴關係。
總結:SpringBoot專一於快速,方便的開發單個微服務個體,SpringCloud關注全局的服務治理框架。
SpringCloud和Dubbo的區別?
最大區別:SpringCloud拋棄了Dubbo的RPC通訊,採用的是基於HTTP的REST方式。
複製代碼
RPC和HTTP有什麼區別?
RPC主要工做在TCP協議上,HTTP服務工做在HTTP協議上,HTTP協議是在傳輸層TCP之上的,從效率上RCP較高。
RPC服務:
包含四個核心組件:1。客戶端(Client)2.服務端(Server)3.客戶端存根(Client Stub),存放服務端的地址消息4.服務端存根(Server Stub)接收客戶端發過來的消息,將消息打包,並調用本地的方法。
流行的RPC框架:gRPC,Thrift,Dubbo
複製代碼
HTTP服務:
HTTP接口開發,就是RESTful風格的服務接口,優勢:簡單,快捷,開發方便。利用現成的http協議進行傳輸
複製代碼
dubbo維護者劉軍:Dubbo的定位始終是一款RPC框架,而SpringCloud的目標是微服務架構下的一站式解決方案.