1. Dubbo是什麼? 只是一個框架 Hibernate是持久層框架,SpringMVC是MVC的框架,而Dubbo是分散式服務框架。 是框架而不是服務 所以不是像Tomcat或Memcached可以單獨啟動,它必須依附於應用才有意義。引入dubbo.jar的應用,並完成適合的配置後,這個應用就成 ...
1. Dubbo是什麼?
只是一個框架
Hibernate是持久層框架,SpringMVC是MVC的框架,而Dubbo是分散式服務框架。
是框架而不是服務
所以不是像Tomcat或Memcached可以單獨啟動,它必須依附於應用才有意義。引入dubbo.jar的應用,並完成適合的配置後,這個應用就成為了dubbo應用。
2. Dubbo是什麼框架?
前面說了是分散式服務框架,更簡單的說就是提供了兩個核心功能的框架:
- RPC功能
- 服務治理
RPC就像我們最常用的使用CXF的WebService。
服務治理就是管理系統間依賴,動態增減節點、訪問監控等。
傳統應用調用——雜亂無章
dubbo服務治理——有序整潔
dubbo和CXF框架很類似
如果用到Spring:
- dubbo應用用
<dubbo:service>
暴露服務;cxf用<jaxws:server>
暴露服務; - dubbo應用用
<dubbo:reference>
引入服務;cxf用<jaxws:client>
引入服務;
3. Dubbo和Zookeeper的關係
Zookeeper是服務,而不是框架。所以它可以單獨啟動。
Zookeeper和Dubbo本來沒什麼關係,只不過Dubbo可以用Zookeeper做註冊中心。
有了註冊中心,就不用像CXF那樣,要配置服務端和客戶端的url了。
註冊中心充當了一個中介的作用,註冊服務和訂閱服務只要找註冊中心就可以了。
4. 要不要用Dubbo?
如果只是簡單的應用間調用,完全不用dubbo。
帶來的複雜性大大高於便捷性。
隨著訪問量的增大,應用不斷的拆分:
未完待續
只是看了文檔並自己寫測試代碼,沒有經過生產,還得後續繼續深入學習和驗證