Dubbo单体服务间调用(without 注册中心)

  • Post author:
  • Post category:其他




Dubbo单体服务间调用(without 注册中心)



1.需求

在一些场景下我们使用dubbo进行服务间调用是不需要使用注册中心的,针对这种需求dubbo也做了相应的处理,

下面通过一个demo演示如何实现。



2.实现

  • 定义UserService接口
List<String> getUsers();

String sayHello(String name);
  • 改变注册方式

生产者:

<?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:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo
       http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <!--定义了提供方应用信息,用于计算依赖关系;在 dubbo-admin 或 dubbo-monitor 会显示这个名字,方便辨识-->
    <dubbo:application name="dubbo-provider" />
    <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper 不需要注册中心则使用N/A-->
    <dubbo:registry address="N/A"/>
    <!-- 用dubbo协议在20880端口暴露服务 -->
    <dubbo:protocol name="dubbo" port="20880" host="192.168.2.178" />
    <!--使用 dubbo 协议实现定义好的 api.PermissionService 接口-->
    <dubbo:service interface="com.eggsl.service.UserService" ref="userService" />
    <!--具体实现该接口的 bean-->
    <bean id="userService" class="com.eggsl.service.impl.UserServiceImpl"/>
</beans>

消费者:

<?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:dubbo="http://code.alibabatech.com/schema/dubbo"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
       http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
    <dubbo:application name="dubbo-consumer" />
    <!--向 zookeeper 订阅 provider 的地址,由 zookeeper 定时推送-->
    <dubbo:registry address="N/A"/>
    <!--使用 dubbo 协议调用定义好的 api.PermissionService 接口-->
    <dubbo:reference id="userService" interface="com.eggsl.service.UserService" url="dubbo://192.168.2.178:20880/com.eggsl.service.UserService"/>
</beans>
  • 结果如图

    在这里插入图片描述

    在这里插入图片描述

    项目地址:

https://gitee.com/ayiba/dubbo-learning



版权声明:本文为daxiang52原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。