maven搭建Dubbo框架服務

 
Linux環境下搭建Dubbo框架服務介紹
需要提前準備JDK、zookeeper、dubbo-admin的WAR包
dubbo-admin這裏就不用介紹了,在我的上一篇文章中介紹過了,
文章地址:http://kuailenanhaier.iteye.com/blog/2329575
安裝zookeeper
1、到zookeeper官網下載,下載地址:http://zookeeper.apache.org/releases.html
2、解壓執行命令:tar -zxvf zookeeper-3.4.8.tar.gz zookeeper-3.4.8
3、進入到conf目錄下,拷貝 zoo_sample.cfg,並重命名爲zoo.cfg,執行的命令爲 cp zoo_sample.cfg zoo.cfg 即可
4、編輯 zoo.cfg,修改dataDir爲
dataDir=/home/test/zookeeper/data   
dataLogDir=/home/test/zookeeper/logs

啓動zookeeper
1、進入zookeeper的 bin 目錄下,執行命令 ./zkServer.sh start
2、在bin目錄下,執行命令 ./zkCli.sh -server 服務器IP:2181,這是測試是否啓動zookeeper,若zkClient已經連接上了的話,表示已啓動zookeeper


關閉zookeepr
1、進入zookeeper的 bin 目錄下,執行命令 ./zkServer.sh stop 即可

啓動tomcat下的dubbo-admin

創建dubbo-demo-provider 生產者
1、創建maven項目,項目名字爲dubbo-demo-provider
2、修改pom文件,添加JAR包,如下:
<dependencies>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<build>
<finalName>dubbo-demo-provider</finalName>
</build>

3、創建接口類IDemoService,代碼如下:
package com.cn.dubbo.provider;

public interface IDemoService {
public String sayHello(String name);
}

4、創建接口實現類DemoServiceImpl,用於實現接口中的方法,代碼如下:
package com.cn.dubbo.provider;

public class DemoServiceImpl implements IDemoService{

public String sayHello(String name)
{
String result = "Hello "+name+"  provider sayHello method success";
System.out.println("provider sayHello method invoke");
return result;
}
}


5、創建 dubbo-demo-provider.xml配置文件,配置生產者暴露服務地址和註冊中心,如下
<!-- 提供方應用信息,用於依賴關係 -->
<dubbo:application name="dubbo-demo-provider"/>

<!-- 使用zookeeper註冊中心,暴露提供者服務地址 -->
<dubbo:registry address="zookeeper://192.168.0.29:2181"/>

<!-- 使用dubbo協議在8001端口暴露服務 -->
<dubbo:protocol name="dubbo" port="8001" />

<!-- 提供者服務實現 -->
<bean id="demoService" class="com.cn.dubbo.provider.DemoServiceImpl" />

<!-- 聲明需要暴露的服務接口 -->
<dubbo:service interface="com.cn.dubbo.provider.IDemoService" ref="demoService"/>

6、創建TEST類,用於啓動生產者,加載配置文件,代碼如下:
package com.cn.dubbo.test;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ProviderTest {

public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:dubbo-demo-provider.xml");
context.start();
System.in.read();
}
}

創建dubbo-demo-consumer消費者
1、創建maven項目,項目名字爲dubbo-demo-consumer
2、修改pom文件,這裏需要依賴dubbo-demo-provider,代碼如下:
<dependencies>
<dependency>
<groupId>com.cn.dubbo</groupId>
<artifactId>dubbo-demo-provider</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.5.3</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-beans</artifactId>
<version>4.3.3.RELEASE</version>
</dependency>
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.9</version>
</dependency>
<dependency>
<groupId>com.github.sgroschupf</groupId>
<artifactId>zkclient</artifactId>
<version>0.1</version>
</dependency>
</dependencies>
<build>
<finalName>dubbo-demo-consumer</finalName>
</build>

3、創建dubbo-demo-consumer.xml,用於配置消費者消費生產者暴露的服務,代碼如下:
<!-- 提供方應用信息,用於依賴關係 -->
<dubbo:application name="dubbo-demo-consumer"/>

<!-- 使用zookeeper註冊中心,暴露提供者服務地址 -->
<dubbo:registry address="zookeeper://192.168.0.29:2181"/>

<dubbo:reference id="demoService" interface="com.cn.dubbo.provider.IDemoService" />

4、創建TEST類,用於調用生產者服務,代碼如下:
package com.cn.dubbo.test;

import java.io.IOException;

import org.springframework.context.support.ClassPathXmlApplicationContext;

import com.cn.dubbo.provider.IDemoService;

public class ConsumerTest {

public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("classpath:dubbo-demo-consumer.xml");
context.start();
IDemoService providerImpl = (IDemoService)context.getBean("demoService");
String result = providerImpl.sayHello("bb");
System.out.println(result);
System.in.read();
}
}


最後登錄到dubbo-admin控制檯,查看生產者和消費者,生產者和消費者是否發佈成功

注:這裏的啓動步驟說明下:
1、先啓動 zookeeper
2、啓動dubbo-admin
3、啓動生產者,也就是dubbo-demo-provider
4、啓動消費者,也就是dubbo-demo-consumer

上述就簡單的介紹如何在Linux環境下搭建dubbo服務框架,安裝和啓動、部署zookeeper的希望對大家有幫助
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章