回想了一下,作到如今的開發,用過的一些框架 ssm,因爲外包某大廠,用過sofa sofamvc sofarpc 而後就沒有而後了,感受一直這樣可不行,想着學點什麼其餘的框架,就從dubbo開始吧,本文中的內容是某視屏教程中所作的筆記,==html
MVC架構:單系統的傳統架構,一個系統,一個數據庫,全部邏輯都在一塊兒 git
經常使用的框架 ssmgithub
RPC架構:系統達到必定規模時,業務愈來愈多,應用之間的交互也就不可避免,因此須要將業務抽取出來spring
就造成了穩定的服務羣體,而且數據庫也分開了,好比電商系統的 商品服務 訂單服務 交易服務數據庫
經常使用的框架有 Thrift / Avro / Hessianapache
SOA架構:當系統繼續擴大,服務愈來愈多,就會發現,服務的管理就十分麻煩(服務的資源評估,小服務的容量浪費等問題),因此要升級soa架構,soa提供了服務的自動發現與管理的功能架構
經常使用的框架有 Dubbo / Spring-cloud / Icemvc
這裏總結一下,開始的時候,不要想着用上來就用soa,小型的項目傳統架構足矣 ,不然也是浪費,框架的選擇不能爲了新而新,要符合自身項目的須要,當從前的框架不能知足業務的時候,在考慮新的框架或技術框架
a 服務的治理是由dubbo先提供出來的,因此關於服務治理更加好一點tcp
b dubbo 集成了第三方的註冊中心zookeeper,因此是輕量級的,而spring cloud ICE都自帶了註冊中心
c 性能方面
性能是由他們採用的協議與語言決定的 Zeroc ICE是c語言開發的,因此性能是第一的
而dubbo採用的是Netty底層tcp長鏈接 性能第二
而Spring-cloud採用的是http協議性能第三,dubbo的性能大約是spring-cloud的2-3
d 因爲spring-cloud依託spring有自然的優點
具體的使用方法,配置方式參考開發手冊
https://dubbo.gitbooks.io/dubbo-user-book/content/preface/background.html
能夠參考官網中的示例代碼
https://github.com/apache/incubator-dubbo