1. 程式人生 > >Dubbo+Spring原理淺析

Dubbo+Spring原理淺析

Dubbo是一個分散式服務框架,致力於提供高效能和透明化的RPC遠端服務呼叫方案,以及SOA服務治理方案

特點:

  • 遠端通訊:提供對多種基於長連線的NIO框架抽象封裝,包括多種縣城模型,序列化,以及"請求-響應"模式的資訊交換方式
  • 叢集容錯:提供基於介面方法的透明遠端過程嗲用,包括多協議支援,以及軟負載均衡,失敗容錯,地址路由,動態配置等叢集支援
  • 自動發現:基於註冊中心目錄服務,使服務消費方能動態的查詢服務提供方,是抵制透明,是入伍提供方可以平滑增加或減少機器

作用:

  • 透明化的遠端方法嗲用,就行嗲用本地方法一樣呼叫遠端方法,只需簡單配置,沒有任何API侵入
  • 軟負載均衡及容錯機制,可在內網替代F5等硬體負載均衡器,降低成本,減少單點
  • 服務自動註冊與發現,不再需要寫死服務提供方地址,註冊中心基於介面名查詢服務提供者的IP地址,並且能平滑的增加或減少機器

Spring整合

Dubbo採用全Springde 配置方式 ,透明化接入應用,對應用沒有任何API清儒,只需spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入

Spring

Spring是一個分層的開源框架

Spring框架--面向切面程式設計(AOP)

AOP為Aspect Oriented Programming 的縮寫,意為面向切面程式設計,通過預編譯方式和執行期動態代理實現程式功能的統一維護的一種技術,AOP是OOP的延續,利用AOP可以對語無邏輯的各個部分進行隔離,從而使業務邏輯就各部分之間的耦合度降低,提高程式的可重用性,同時提高了開發的效率.AOP的實現方式有三種,手動方式(JDK動態代理),半自動方式(讓Spring建立代理物件,從spring容器中手動的獲取代理物件),全自動(從spring容器中獲得目標類,如果配置AOP,spring將自動生成代理)