使用dubbo+zookeeper發布服務與調用服務


1. 准備

1.安裝zookeeper,見zookeeper基本安裝配置
2.部署dubbo-admin服務,見dubbo-admin部署

2. 創建服務接口

創建Maven工程,如工程artifactId為test-dubbo-api,添加要對外提供接口,並使用maven打包/安裝/部署到maven服務器即可(package|install|deploy)。
例如添加接口HelloService,對外提供sayHelloToDubbo方法。如下:

public interface HelloService { public String sayHelloToDubbo(); } 

3. 發布服務

創建Web工程,依賴上面的工程test-dubbo-api.jar,並實現服務接口,如下

public class HelloServiceImpl implements HelloService { public String sayHelloToDubbo() { return "Hello Dubbo, Nice to meet you!"; } } 

依賴dubbo和spring相關pom文件,如下

 <dependencies> <dependency> <groupId>com.xxx</groupId> <artifactId>test-dubbo-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <artifactId>spring</artifactId> <groupId>org.springframework</groupId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-core</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>${spring-version}</version> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency> </dependencies> <properties> <spring-version>4.1.6.RELEASE</spring-version> <java-version>1.7</java-version> </properties> 

在spring中配置dubbo

在<beans>中添加dubbo的xmlns相關聲明

<beans xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation= "http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">

配置dubbo信息,zookeeper的地址以及要提供的服務接口

    <bean id="helloService" class="com.xxx.testdubbo.api.HelloServiceImpl"></bean> <!-- 提供方應用名稱信息 --> <dubbo:application name="hello_server"></dubbo:application> <!-- 使用zookeeper注冊中心 --> <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false" subscribe="false" register=""></dubbo:registry> <!-- 要提供的服務接口 --> <dubbo:service interface="com.xxx.testdubbo.api.HelloService" ref="helloService" />

啟動服務即可注冊到dubbo

4. 調用服務

使用maven創建web工程,依賴test-dubbo-api.jar,以及dubbo相關jar包,這里必須要依賴zkclient,maven依賴與發布服務相同。

配置Spring

    <!-- 在dubbo注冊應用名稱 --> <dubbo:application name="dubbo_client"></dubbo:application> <!-- zookeeper地址 --> <dubbo:registry address="zookeeper://127.0.0.1:2181" check="false"></dubbo:registry> <!-- 依賴的服務 --> <dubbo:reference interface="com.xxx.testdubbo.api.HelloService" id="helloService"></dubbo:reference>

配置完成后,在項目中調用helloService就想調用本地服務一樣了。

 

轉:https://segmentfault.com/a/1190000004654903


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM