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中,这时,注册中心就会有两个一样的服务,然后你把开发环境中的服务停掉,只留下自己本地的服务,这样就可以调用你本地的服务了。

猜你喜欢

转载自blog.csdn.net/gongjds/article/details/79384792