1. 程式人生 > >dubbo+ZooKeeper框架基礎配置

dubbo+ZooKeeper框架基礎配置


先說為什麼要用分散式架構:個人理解是從一個繁雜的整體式專案拆分成一個一個互相獨立的專案,分別部署到不同的機器,減輕開發的複雜度,提高服務的高可用。


個人搭建的demo基於SSM框架,分成三個Module,API、Provider、Consumer,其中 API打包方式是jar ,提供給Provider和Consumer使用。


安裝Dubbo控制檯

首先安裝dubbo-admin控制檯,在github上搜alibaba/dubbo原始碼自己編譯war包。

這個是我自己編譯2.54版本的dubbo-admin:連結:http://pan.baidu.com/s/1pLHmZ95

密碼:oo6n

放到Tomcat下進行編譯,啟動後開啟網頁。

dubbo-admin


安裝ZooKeeper

這個去ZooKeeper官網下載自己喜歡的版本(個人下載當時最新版)

網上也有很多啟動服務的教程,記得修改conf目錄下的zoo.cfg檔案的配置。


dubbo配置檔案

使用dubbo作為分散式框架,Zookeeper作為註冊中心

Provider是服務提供者,dubbo配置檔案為dubbo-service.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"
>
<context:component-scan base-package="cn.sevenyuan.demo"/> <!-- 往ZooKeeper釋出自己提供的服務 --> <dubbo:application name="provider"/> <dubbo:registry protocol="zookeeper" address="zookeeper://localhost:2181" check="true"/> <dubbo:protocol name="dubbo" port="20802" /> <!-- 此處是自己設定的服務 --> <dubbo:service timeout="15000" interface="cn.sevenyuan.demo.service.IBookService" ref="bookService" /> </beans>

Consumer是服務消費者,dubbo配置檔案為dubbo-reference.xml:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p"
	   xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
	   xmlns:context="http://www.springframework.org/schema/context"
	   xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
    http://code.alibabatech.com/schema/dubbo
    http://code.alibabatech.com/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">

	<context:component-scan base-package="cn.sevenyuan.demo"/>

	<dubbo:application name="consumer-test"/>
	<!-- 使用zookeeper註冊中心暴露服務地址 -->
	<dubbo:registry address="zookeeper://localhost" username="root" password="root"/>
	<dubbo:protocol name="dubbo" host="localhost" port="20880" />

	<dubbo:registry protocol="zookeeper" address="zookeeper://localhost:2181" />

	<dubbo:reference timeout="3000" interface="cn.sevenyuan.demo.service.IBookService" id="bookService" check="false"/>

</beans>

配置好自己的服務之後,啟動服務提供者和服務消費者,看dubbo控制面板就能看到在dubbo註冊和消費的服務