標籤:hub pack end author aik 介面 imp home www.
一.總共分為三個目錄:
- dubbo-api 服務的介面用於對接用戶端和服務端
- dubbo-client 用戶端設定檔為:consumer.xml
- dubbo-service 服務端設定檔為:provide.xml
二.設定檔
1.consumer.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- 消費方應用程式名稱,用於計算依賴關係,不是匹配條件,不要與提供方一樣 --> <dubbo:application name="consumer" /> <!-- zookeeper作為註冊中心 --> <dubbo:registry protocol="zookeeper" address="zookeeper://10.92.1.17:2181" /> <dubbo:protocol name="dubbo" port="20895" /> <!-- 產生遠程服務代理,可以和本地bean一樣使用demoService --> <dubbo:reference interface="com.dubbo.api.rpc.TestService" id="testService"></dubbo:reference></beans>
2.provide.xml:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd "> <!-- 消費方應用程式名稱,用於計算依賴關係,不是匹配條件,不要與提供方一樣 --> <dubbo:application name="provider" /> <!-- 使用zookeeper作為註冊中心 --> <dubbo:registry protocol="zookeeper" address="zookeeper://10.92.1.17:2181" /> <dubbo:protocol name="dubbo" port="20895" /> <!-- 產生遠程服務代理,可以和本地bean一樣使用demoService --> <dubbo:service interface="com.dubbo.api.rpc.TestService" ref="testService"></dubbo:service></beans>
3pom檔案:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>com.dubbo.api</groupId> <artifactId>dubbo-api</artifactId> <version>0.0.1-SNAPSHOT</version> </dependency> <dependency> <groupId>com.alibaba</groupId> <artifactId>dubbo</artifactId> <version>2.5.3</version> <exclusions> <exclusion> <groupId>org.springframework</groupId> <artifactId>spring</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.apache.zookeeper</groupId> <artifactId>zookeeper</artifactId> <version>3.4.6</version> <exclusions> <exclusion> <groupId>org.slf4j</groupId> <artifactId>slf4j-log4j12</artifactId> </exclusion> <exclusion> <groupId>log4j</groupId> <artifactId>log4j</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>com.github.sgroschupf</groupId> <artifactId>zkclient</artifactId> <version>0.1</version> </dependency>
4. 服務的介面
/** * @Title: TestService.java * @Description: * @author lsc * @date 2018年8月17日 * @version 1.0 * @Copyright:Copyright Taikanglife.All Rights Reserved */ package com.dubbo.api.rpc;/** * @ClassName: TestService * @Description: * @author: lsc * @date: 2018年8月17日 上午10:03:28 * @Copyright:Copyright Taikanglife.All Rights Reserved */public interface TestService { public String sayHello();}
5.服務的實現
package com.dubbo.dubbo;import org.springframework.stereotype.Service;import com.dubbo.api.rpc.TestService;/** * @ClassName: TestServiceImpl * @Description: * @author: lsc * @date: 2018年8月17日 上午10:24:11 * @Copyright:Copyright Taikanglife.All Rights Reserved */@Service("testService")public class TestServiceImpl implements TestService { @Override public String sayHello() { return "hello dubbo"; }}
6.服務的調用
package com.dubbo.dubboclient;import org.springframework.beans.factory.annotation.Autowired;import org.springframework.web.bind.annotation.RequestMapping;import org.springframework.web.bind.annotation.RestController;import com.dubbo.api.rpc.TestService;/** * @ClassName: MyController * @Description: * @author: lsc * @date: 2018年8月17日 上午10:24:56 * @Copyright:Copyright Taikanglife.All Rights Reserved */@RestControllerpublic class MyController { @Autowired private TestService testService; @RequestMapping("/home") public String home(){ return testService.sayHello(); }}
dubbo+zookeeper下生產者和消費者配置(基於springboot開發)