Dubbo 服务配置

Dubbo 服务配置

前言

大家好,今天开始给大家分享 — Dubbo 专题之 Dubbo 服务配置。那么怎么理解服务配置呢?我们在前面的《Dubbo 服务注册与发现》章节中讨论了服务注册与发现,其中当我们需要对外暴露一个 Dubbo 服务时需要指定:应用名称、端口、协议、注册中心地址、延迟暴露等配置属性,那么这些配置属性就是我们所说的服务配置。通过服务配置我们可以改变一些特性,例如:使用不同的通讯协议、切换序列化方式、是否延长暴露服务、调用服务超时时间等等。这里会主要介绍下相关的配置方式具体的详细配置属性可以参考:配置参考手册

1. Dubbo 服务 XML 配置

下面我们来使用 XML 方式来暴露和引用 Dubbo 服务。

java源码目录结构:

|–serviceconfig

​ |–api 暴露服务的接口定义

​ |–consumer 消费者服务

​ |–provider 服务提供者

idea1

resources目录结构:

|–serviceconfig

​ |–consumer 消费者配置文件

​ |–spring

​ |–provider 服务提供者配置文件

​ | –spring

idea2

消费者配置文件dubbo-consumer-xml.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
        <!--配置Dubbo应用名称-->
    <dubbo:application name="demo-consumer" logger="log4j" />
        <!--配置Dubbo zookeeper注册中心地址-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
        <!--配置引用Dubbo服务名称-->
    <dubbo:reference id="bookFacade" check="false" interface="com.muke.dubbocourse.serviceconfig.api.BookFacade"></dubbo:reference>

</beans>

消费者启动类:com.muke.dubbocourse.serviceconfig.consumer.XmlApplication

服务提供者配置文件dubbo-provider-xml.xml如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
       xmlns="http://www.springframework.org/schema/beans"
       xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd
       http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd">
        <!--配置Dubbo应用名称-->
    <dubbo:application name="demo-provider" metadata-type="remote"/>
        <!--配置Dubbo zookeeper注册中心地址-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
        <!--配置Spring容器Bean-->
    <bean id="bookFacade" class="com.muke.dubbocourse.serviceconfig.provicer.BookFacadeImpl"/>
    <!--暴露本地服务为Dubbo服务-->
    <dubbo:service interface="com.muke.dubbocourse.serviceconfig.api.BookFacade" ref="bookFacade"/>

</beans>

服务提供者启动类:com.muke.dubbocourse.serviceconfig.provider.XmlApplication

从上面的消费者和提供者配置文件可以看出我们可以通过 xml 的方式来配置服务提供者以及消费者引用远程服务等更多详细配置信息可以参考:配置参考手册

2. Dubbo 服务属性配置

Dubbo 中提供了dubbo.properties属性文件来配置服务。作为一个默认的配置,他与配置文件和 JVM 配置的优先级顺序为:JVM参数(-D开头的JVM配置参数) > XML 配置(上面已经讨论) >dubbo.properties默认配置。Dubbo 可以自动加载classpath根目录下的dubbo.properties,但是你同样可以使用 JVM 参数来指定路径:-Ddubbo.properties.file=xxx.properties。那么下面我们做一个简单的例子:

  • 消费者配置文件dubbo-consumer-properties.xml中我们取消了注册中心地址配置,而是在dubbo.properties配置注册中心地址如下:
剩余70%内容付费后可查看
0