dubbo是在spring基礎之上做的擴充套件,也就是說阿里巴巴對於spring的效能、易用性還是非常的認可的。從使用角度來講,即使是大公司對於流行技術框架,也都細心研究。廢話不多說,下面我們從dubbo實踐的角度,講解dubbo的具體應用。
1、環境配置
如果服務端型別為web服務,則還需要配置web服務容器,例如tomcat。
在dubbo框架中,spring作為配置檔案的解析框架和服務提供框架。dubbo具體擴充套件了配置檔案的解析邏輯,能夠使得註冊配置檔案按照類似於spring配置檔案的形式配置。另外,spring可以高效的對外提供restful介面。tomcat作為對外服務的一種容器,服務端通過它對外提供服務。
dubbo框架是一種服務形式的抽象,可以結合不同的業務形式具體使用。服務端可以採用tomcat部署,也可以採用其他的專案形式提供部署。服務端自動實現服務註冊、服務傳輸協議等,使用者僅需要提供服務介面和服務內容即可。消費端實現了負載均衡,服務**等,使用者只需要提供具體的業務引用即可。
2、專案實踐
根據dubbo的架構,具體的專案實踐分為以下步驟:
1)定義服務端和消費端共同遵守的約定介面;
2)定義服務類,其實現約定介面。
3)將服務端註冊到配置端。配置端如果採用組播的形式,則不需要單獨配置。如果採用其他的形式,如zookeeper則需要提前配置伺服器。
4)定義消費端呼叫,並註冊消費端服務。服務端實現服務的負載均衡排程。
3、具體**
1)定義介面
package
com.
alibaba
.dubbo
.demo
;
public
inte***ce
demoservice
2、實現服務
package
com.
alibaba
.dubbo
.demo
.provider
;import
com.alibaba.dubbo.demo.demoservice
;public
class
demoserviceimpl
implements
demoservice
}
3、配置服務實現
<?xml version="1.0" encoding="utf-8"?>
xmlns=
""xmlns:xsi=
""xmlns:dubbo=
""xsi:schemalocation=
" /spring-beans.xsd /dubbo.xsd"
>
"demo-provider"
/>
address=
"multicast:"
/>
name=
"dubbo"
port=
"20880"
/>
inte***ce=
"com.alibaba.dubbo.demo.demoservice"
ref=
"demoservice"
/>
id="demoservice"
class=
"com.alibaba.dubbo.demo.provider.demoserviceimpl"
/>
4、啟動服務
import
;public
class
provider
);context
.start
();// press any key to exit
system.in
.read
();}
}
5、配置服務消費者
<?xml version="1.0" encoding="utf-8"?>
xmlns=
""xmlns:xsi=
""xmlns:dubbo=
""xsi:schemalocation=
" /spring-beans.xsd /dubbo.xsd"
>
"demo-consumer"
/>
address=
"multicast:"
/>
id="demoservice"
inte***ce=
"com.alibaba.dubbo.demo.demoservice"
/>
6、啟動服務消費者
import
com.alibaba.dubbo.demo.demoservice
;import
;public
class
consumer
);context
.start
();// obtain proxy object for remote invocation
demoservice
demoservice=(
demoservice
)context
.getbean
("demoservice"
);// execute remote invocation
string
hello
=demoservice
.sayhello
("world"
);// show the result
system
.out
.println
(hello);}
}
分布式 dubbo筆記
dubbo是一種分布式服務框架。webservice也是一種服務框架,但是webservice並不是分布式的服務框架,他需要結合f5實現負載均衡。因此,dubbo除了可以提供服務之外,還可以實現軟負載均衡。它還提供了兩個功能monitor 監控中心和呼叫中心。這兩個是可選的,需要單獨配置。dubbo...
Dubbo 分布式服務
隨著網際網路的發展,應用的規模不斷擴大,常規的垂直應用架構已無法應對,分布式服務架構以及流動計算架構勢在必行,亟需乙個治理系統確保架構有條不紊的演進。垂直應用架構 分布式服務架構 流動計算架構 在大規模服務化之前,應用可能只是通過rmi或hessian等工具,簡單的暴露和引用遠端服務,通過配置服務的...
ZooKeeper分布式鎖簡單實踐
zookeeper分布式鎖簡單實踐 在分布式解決方案中,zookeeper是乙個分布式協調工具。當多個jvm客戶端,同時在zookeeper上建立相同的乙個臨時節點,因為臨時節點路徑是保證唯一,只要誰能夠建立節點成功,誰就能夠獲取到鎖。沒有建立成功節點,就會進行等待,當釋放鎖的時候,採用事件通知給客...