使用RPC与Restful接口调用服务

  created  by  鱼鱼 {{tag}}
创建于 2019年05月07日 15:49:56 最后修改于 2019年05月07日 18:33:42

使用RPC与Restful接口调用服务

使用RPC与Restful接口调用服务

        在SOA和微服务架构中,远程通信是无法避免的,最常用的远程通信有两种方式:

  1. restful的接口

  2. 使用dubbo或是Spring Cloud进行RPC协议远程调用,使用socket通信

RPC的使用

Dubbo

    Dubbo是阿里巴巴提供的服务化治理框架,它省略了API方式调用的API侵入,并且通过一个注册中心实现服务的注册与发现,流程架构图为:

    dubbo需与Spring共同使用,当provider在注册中心注册了一个服务(Sevice)后,consumer中可以申请获取这个Service,它将作为一个bean存在于项目中。

    Dubbo的基本配置:

<!-- 使用dubbo发布服务 -->
	<!-- 提供方应用信息,用于计算依赖关系,无关provider还是consumer -->
	<dubbo:application name="provider" />
	<!-- 注册dubbo的服务
	,注册中心可以有多个 -->
	<dubbo:registry protocol="zookeeper"
		address="192.168.25.137:2181" />
	<!-- 各配置项缺省值设置 -->
	<dubbo:provider retries="0" timeout="20000" />
	<!-- 表明用dubbo协议在20880端口暴露服务 -->
	<dubbo:protocol name="dubbo" port="20880" />
	<!-- 声明需要暴露的服务接口,作为provider -->
	<dubbo:service interface="cn.XXXX.service.ItemService" ref="itemServiceImpl" timeout="600000" />
        <!-- 引用服务配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心。-->
        <dubbo:reference id="tmpdemoService" interface="com.unj.dubbotest.provider.DemoService" />

    接下来详细说一下这些配置项的参数,注意有一些共通的参数:

        -Dubbo:service

        -Dubbo:reference

        -Dubbo:protocol

        -Dubbo:registry

        -Dubbo:application

        -Dubbo:provider

参考链接:dubbo的配置及java代码使用Dubbo之XML配置详解


2019-05-07鱼鱼