精华内容
下载资源
问答
  • 那么前端接口怎么来调用其他的服务项目呢,这时就需要用到dubbo服务调用这些服务。 2.在使用dubbo服务之前,需要先了解dubbo服务的运行原理。dubbo服务主要分为四个模块,有三大主要功能模块:提供者,使用者,...
    1. 随着项目的精分,以及小型化,一个大的项目会被拆分为数个小而精简的项目。会分为前端项目,接口项目以及服务项目等等。那么前端接口怎么来调用其他的服务项目呢,这时就需要用到dubbo服务来调用这些服务。

           2.在使用dubbo服务之前,需要先了解dubbo服务的运行原理。dubbo服务主要分为四个模块,有三大主要功能模块:提供者,使用者,注册中心,如下图:

       图中server就是服务提供者,它会把自己能提供的服务通过配置文件提供到zookeeper,然后client使用者在需要用到这些服务的时候,就会到zookeeper中寻找自己所需要的服务,这时就可以成功的引用到这些服务了。


    3.提供服务的配置文件:

    具体原理同下:

    <dubbo:application name="wallet_user_service"></dubbo:application>//name是项目的名称
    <!--zookeeper注册中心 -->
    <dubbo:registry protocol="zookeeper" address="${ZOOKEEPER_REGISTRY_URL}" />//说明使用的注册中心是zookeeper,注册中心不止一个。address是你注册中心的地址,也就是你去哪里注册服务
    <dubbo:consumer timeout="30000"></dubbo:consumer>

    <dubbo:protocol name="dubbo" port="${MOBILE_SEC_DUBBO_PORT}"></dubbo:protocol>

    <dubbo:service interface="com.pisgah.mobile.mng.userSerivice.UsrBasicService" 
    ref="usrBasicService"></dubbo:service> //要和使用服务的配置文件一致。
    <bean id="usrBasicService" class="com.pisgah.mobile.mng.userServiceImpl.UsrBasicServiceImpl"/>

    4.使用服务的配置文件:
    <!-- dubbo配置 -->
    <dubbo:application name="wallet-pre"></dubbo:application>//name是项目的名称
    <dubbo:consumer timeout="30000" retries="0" cluster="failfast"/>
    <dubbo:registry protocol="zookeeper" address="${zkaddress}"/>//说明使用的注册中心是zookeeper,注册中心不止一个。address是你注册中心的地址,也就是你去哪里寻找服务
    //下面是一个例子:id是你服务的名称,interfere是引用服务的地址,要和提供方配置文件中的地址一致。
    <!-- 个人用户服务--> 
    <dubbo:reference id="usrBasicService" interface="com.pisgah.mobile.mng.userSerivice.UsrBasicService"  timeout="3000000" check="false" />

       这样配置完成之后,就可以在项目中引用这些服务了,例如:

        @Autowired

        private UsrBasicService usrBasicService ;

      uInfo = usrBasicService.getUsrBasicInf(uInfo);

    通过这样三步就可以在class中使用服务。

    5.如果你的服务需要实时的修改来判断是否正确,你需要在你本地启动你的服务,使用服务的配置文件这样写:

    <dubbo:reference id="bankCardService" interface="com.pisgah.mobile.mng.userSerivice.IBankCardService" timeout="3000000"  check="false" url="dubbo://10.6.9.116:20309/com.pisgah.mobile.mng.userSerivice.IBankCardService"/>

    其中10.6.9.116应该是你本地的ip号,切记不能写成127.0.0.1。20309是你服务的端口号,可以在zookeeper中看到,后边地址和interfere中一样。

    然后启动你本地服务的main方法,在你启动本地服务的main方法之后,服务就会被自动注册的注册中心zookeeper中,这时,注册中心就会有两个一样的服务,然后你把开发环境中的服务停掉,只留下自己本地的服务,这样就可以调用你本地的服务了。

    展开全文
  • 命令行调用dubbo服务

    千次阅读 2016-11-07 17:53:36
    dubbo服务发布之后,我们可以利用telnet命令进行调试、管理。 Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我以通过实例抛砖引玉一下: 1.连接服务  测试对应IP和端口下的dubbo服务是否连通,cmd...
    dubbo服务发布之后,我们可以利用telnet命令进行调试、管理。
    Dubbo2.0.5以上版本服务提供端口支持telnet命令,下面我通过实例抛砖引玉一下:

    1.连接服务

        测试对应IP和端口下的dubbo服务是否连通,cmd命令如下,这里的端口号是dubbo服务注册的zookeeper端口

    telnet localhost 20880

        正常情况下,进入telnet窗口,键入回车进入dubbo命令模式。

        

    2.查看服务列表

    查看服务

    dubbo>ls

    com.test.DemoService


    查看服务中的接口

    dubbo>ls com.test.DemoService

    queryDemoPageList

    insertDemolist

    uploadDemoList

    deleteDemolist

    ls

    (list services and methods)

    ls

    显示服务列表。

    ls -l

    显示服务详细信息列表。

    ls XxxService

    显示服务的方法列表。

    ls -l XxxService

    显示服务的方法详细信息列表。


    3.调用服务接口

    调用接口时,以JSON格式传入参数(这点很方便 :-D),然后打印返回值和所用时间。

    dubbo>invoke com.test.DemoService.queryDemoPageList({"id":"100"}, 1, 2)

    {"totalCount":1,"data":[{date":"2011-03-23 14:10:32","name":"张三","keyword":null}]}

    elapsed: 10 ms.

    invoke

    invoke XxxService.xxxMethod({"prop": "value"})

    调用服务的方法。

    invoke xxxMethod({"prop": "value"})

    调用服务的方法(自动查找包含此方法的服务)。


    4.查看服务状态

    查看服务调用次数,不过比较奇怪的是,我刚才已经调用过一次queryDemoPageList了,而这里显示的为0(貌似不太准,有待进一步了解

    dubbo>count  com.test.DemoService

    dubbo>

    +-------------------------+-------+--------+--------+---------+-----+

    | method                  | total | failed | active | average | max |

    +-------------------------+-------+--------+--------+---------+-----+

    queryDemoPageList | 0     | 0      | 0      | 0ms     | 0ms |

    | insertDemolist    | 0     | 0      | 0      | 0ms     | 0ms |

    | uploadDemoList    | 0     | 0      | 0      | 0ms     | 0ms |

    | deleteDemolist    | 0     | 0      | 0      | 0ms     | 0ms |

    +-------------------------+-------+--------+--------+---------+-----+

    count

    count XxxService

    统计1次服务任意方法的调用情况。

    count XxxService 10

    统计10次服务任意方法的调用情况。

    count XxxService xxxMethod

    统计1次服务方法的调用情况。

    count XxxService xxxMethod 10

    统计10次服务方法的调用情况。

    status

    status

    显示汇总状态,该状态将汇总所有资源的状态,当全部OK时则显示OK,只要有一个ERROR则显示ERROR,只要有一个WARN则显示WARN。

    status -l

    显示状态列表。

    展开全文
  • 今天排查线上问题需调用其他服务,公司项目本地没办法访问预发环境,最终在预发环境服务器通过命令调用其他服务方法。 未来有时间可以基于这些命令封装成一个dubbo服务的管理工具。 一.使用telnet命令连接dubbo服务 ...

    今天排查线上问题需调用其他服务,公司项目本地没办法访问预发环境,最终在预发环境服务器通过命令调用其他服务方法。
    未来有时间可以基于这些命令封装成一个dubbo服务的管理工具。

    一.使用telnet命令连接dubbo服务

    telnet ip 端口
    在这里插入图片描述

    二.查看已注册服务

    连接好服务后使用ls命令可以查看已注册服务。
    在这里插入图片描述
    ls 注册服务
    可查看服务中的方法

    ls 显示服务列表。
    ls -l 显示服务详细信息列表。
    ls XxxService 显示服务的方法列表。
    ls -l XxxService显示服务的方法详细信息列表。

    三.使用invoke命令调用服务

    调用接口时,以JSON格式传入参数(这点很方便 😄),然后打印返回值和所用时间。
    dubbo>invoke com.test.DemoService.queryDemoPageList({“id”:“100”}, 1, 2)
    {“totalCount”:1,“data”:[{date":“2011-03-23 14:10:32”,“name”:“张三”,“keyword”:null}]}

    invoke XxxService.xxxMethod({“prop”: “value”})
    调用服务的方法。
    invoke xxxMethod({“prop”: “value”})
    调用服务的方法(自动查找包含此方法的服务)。

    四.查看服务状态

    查看服务调用次数,不过比较奇怪的是,我刚才已经调用过一次queryDemoPageList了,而这里显示的为0(貌似不太准,有待进一步了解)

    dubbo>count com.test.DemoService

    dubbo>

    ±------------------------±------±-------±-------±--------±----+

    | method | total | failed | active | average | max |

    ±------------------------±------±-------±-------±--------±----+

    | queryDemoPageList | 0 | 0 | 0 | 0ms | 0ms |

    | insertDemolist | 0 | 0 | 0 | 0ms | 0ms |

    | uploadDemoList | 0 | 0 | 0 | 0ms | 0ms |

    | deleteDemolist | 0 | 0 | 0 | 0ms | 0ms |

    ±------------------------±------±-------±-------±--------±----+

    count

    count XxxService

    统计1次服务任意方法的调用情况。

    count XxxService 10

    统计10次服务任意方法的调用情况。

    count XxxService xxxMethod

    统计1次服务方法的调用情况。

    count XxxService xxxMethod 10

    统计10次服务方法的调用情况。

    status

    显示汇总状态,该状态将汇总所有资源的状态,当全部OK时则显示OK,只要有一个ERROR则显示ERROR,只要有一个WARN则显示WARN。

    status -l

    显示状态列表。

    展开全文
  • 引入完jar包后,还得引入所需调用dubbo服务的api包。 然后,因为是作为调用方,所以得加入一个dubbo的消费者配置文件(在spring配置文件的同级目录下添加即可),我项目中的配置文件applicationCont

    近期,本公司有个旧的spring系统需要调用新系统的dubbo服务,在网上找了好久,也查阅了不少资料,总算能够顺利调通了。在此我总结一下:

    首先,得引用dubbo的一些依赖jar包,不管是maven项目还是非maven项目都需要(demo我后期在上传,jar包在本人资源里有上传)。

    引入完jar包后,还得引入所需调用dubbo服务的api包

    然后,因为是作为调用方,所以得加入一个dubbo的消费者配置文件(在spring配置文件的同级目录下添加即可),我项目中的配置文件applicationContext-dubbo-consumer.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: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="ibs_consumer" />
        <!-- 使用zookeeper注册中心暴露服务地址 -->
        <dubbo:registry  address="${dubbo.registry.address}"/>
    
        <dubbo:reference id="wallbcOpenapi102TransRpcService"
                         interface="com.gnete.wallbc.rpc.WallbcOpenapi102TransRpcService"
                         version="1.0.1" check="false" timeout="10000"/>
                         
         <dubbo:reference id="wallbcOpenapi102QueryRpcService"
                         interface="com.gnete.wallbc.rpc.WallbcOpenapi102QueryRpcService"
                         version="1.0.1" check="false" timeout="10000"/>               
                         
    
    </beans>

    最后,再把这些要用到的Service注入进你本地项目的Service类里面即可,注入的方法和普通的Service一样。

     

    好了,至此就是配置完成了。至于怎么使用的话,就是取到dubbo服务的Service处理类,就可随便操作了。

     

     

     

    展开全文
  • 一般情况我们使用dubbo通过rpc调用dubbo提供方的服务...我们可以用dubbo的泛化实现调用dubbo服务,泛化调用不需要引入provider提供的jar即可实现远程调用,降低耦合。区别就在于参数和返回值中所有的POJO都用Map表示。
  • 如何使用http直接调用dubbo服务? 我们都知道dubbo服务默认是dubbo协议,如果我们使用http直接调用dubbo服务,需要把协议改为http,如下图 我们在官方的提供的项目demo模块中,把privoder.xml中protocol改为http...
  • springboot调用dubbo服务接口

    千次阅读 2018-08-15 13:54:34
    1 把dubbo消费的jar安装到本地maven仓库 mvn install:install-file -Dfile=F:\dataService-1.0-SNAPSHOT.jar -DgroupId=com.dataService.api -DartifactId=dataService -Dversion=1.0 -Dpackaging=jar 2 项目pom...
  • 特别是线上调用第三方dubbo服务的时候,如果没有输出返回结果信息,如何排查是否是第三方dubbo接口返回的数据有问题,还是我们本身的代码有问题呢,下面这段代码可以实现在本地环境直接调用线上的dubbo服务接口,并...
  • 不能调用本地Dubbo服务测试原因

    千次阅读 2017-09-30 09:25:48
    Dubbo服务提供者,代码如下package com.zhubajie.demo.schedule.DemoSchedule;import org.springframework.stereotype.Service; @com.alibaba.dubbo.config.annotation.Service public class DemoScheduleImpl ...
  • 本地cmd后telnet直连调动服务方法,可正常接收响应;jmeter连zookeeper后可以正常自动get provider list到接口方法,但运行run时报错;jmeter设置成直连,发请求run也报错。。。。。。。 ![图片说明]...
  • 本地执行dubbo服务方法 telnet 127.0.0.1 20880 ls查看所有的dubbo service Ls查看某个服务下的方法 ls -l xxxService 调用service方法 invoke invoke xxxService({“assetId":1,“assetSubId”:1,"class”:...
  • Dubbo本地调用

    千次阅读 2019-10-22 22:46:28
    从2.2.0版本开始,Dubbo 默认在本地以injvm的方式暴露服务,这样的话,在同一个进程里对这个服务的调用会优先走本地调用。 与本地对象上方法调用不同的是,Dubbo 本地调用会经过 Filter 链,其中包括了 Consumer 端...
  • Dubbo 本地调用

    2020-08-26 15:38:49
    从2.2.0版本开始,Dubbo 默认在本地以injvm的方式暴露服务,这样的话,在同一个进程里对这个服务的调用会优先走本地调用。 与本地对象上方法调用不同的是,Dubbo 本地调用会经过 Filter 链,其中包括了 Consumer 端...
  • dubbo服务调用

    千次阅读 2017-12-28 10:27:14
    dubbo服务调用
  • 本地dubbo服务调用不通的问题

    千次阅读 2019-04-03 17:26:20
    2.看配置文件是否正确. 3.看服务端相关的配置文件是否正常编译..../Users/fengbin/work_space/console/console-trunk/console-dubbo/target/classes 目录下配置文件是否正确. 4.检查服务端这个类是否有多次...
  • 有时需要对dubbo服务做个简单的测试,或者想看下某个dubbo服务类所提供的方法,可以直接在命令行通过telnet的方式来查看和调用dubbo服务,方法如下: telnet 127.0.0.1 20880 ip为dubbo服务所在机器的ip,端口...
  • 服务启动后, 不想服务器调用本地服务, 在生产者配置: &lt;dubbo:registry registry = "false" /&gt; 本地服务不注册到注册中心, 那么服务器就不会调本地服务了   在 dubbo 引用服务...
  • Dubbo是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。 2:Zookeeper介绍 ZooKeeper是一个分布式的,开放源...
  • dubbo请求调用本地服务

    千次阅读 2020-07-16 18:24:07
    就是如果rpc服务是你本地启动的,不想让rpc调用服务器的服务,那可以在调用rpc的地方添加 @Reference(url = "dubbo://127.0.0.1:26884",timeout = 600000) private serviceRPC serviceRPC; 那个url里面,ip可以...
  • Dubbo服务调用过程

    万次阅读 2019-01-05 22:30:47
    之前介绍了Dubbo的整体架构,现在我们来说一下Dubbo调用过程。 直奔主题,先看一下官方的说明 节点角色说明: Provider: 暴露服务服务提供方。 Consumer: 调用远程服务服务消费方。 Registry: 服务注册...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 31,074
精华内容 12,429
关键字:

本地调用dubbo服务