使用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

转载于:https://www.cnblogs.com/shanwf/p/8529198.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值