1.Dubbo入门
Dubbo入门
这里的入门只尝试一下消费者去远程使用服务,暂时不使用服务注册中心。
一、编写服务提供者
步骤一:创建Maven项目的web项目,以下是项目结构
步骤二:Dubbo是通过spring无缝衔接的,所以我们需要先引入spring和dubbo的jar包,以下是pom.xml的内容
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>com.exercise</groupId>
<artifactId>provider</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>provider</name>
<url>http://maven.apache.org</url>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>4.3.9.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
<exclusions>
<exclusion>
<groupId>org.springframework</groupId> /**因为Dubbo中自带spring会和我们上面的spring版本不一样产生
<artifactId>spring</artifactId> *冲突,所以这里需要排除依赖。使用我们自己引入的spring包**/
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<finalName>provider</finalName>
</build>
</project>
步骤三: 然后我们开始编写我们要提供的服务接口和服务实现类
服务的接口:
服务实现类:
步骤四:写好了服务以后,我们要将服务发布到注册表上(这里不使用注册表直接发到本地),在spring的配置文件中进行发布的配置,以下是applicationContext.xml和applicationContext-provider.xml
applicationContext.xml:
applicationContext-provider.xml:
步骤五:编写main方法来进行调用xml开启服务,以下是main方法。
二、编写服务消费者
步骤一:创建消费者的Maven的web项目,以下是目录结构:
步骤二:首先还是引入spring和dubbo的jar包,内容和提供者的相同,但是需要引入服务接口的jar包 ,添加以下内容:
对应的jar包就是将服务提供者的服务接口打包成jar然后 放到消费者的lib文件下,在用pom.xml进行引入到本地的maven库中。
将这个目录打包成jar:
将打包好的jar放到lib文件中:
注意:pom中的内容要和该jar包的名字对应。
步骤三:在spring配置文件中去配置获取我们发布的服务,xml约束和提供者相同,下面是要添加的内容:
步骤四:最后编写main方法来解析xml文件调用服务
三、使用Multicast注册中心
1.Multicast注册中心的特点:
a)不需要安装和启动任何的中心节点,即不用安装软件,只要服务提供者和消费者的广播地址一样,就可以互相发现
b)组播地址段:224.0.0.0 - 239.255.255.255
c)组播只适合小规模应用或开发调试使用
2.使用方式:只需要在提供者和消费者的spring配置文件中加上以下内容:
<dubbo:registry address="multicast://组播地址段" />
如:
然后删掉提供者的registry属性和消费者的url属性。