Centos7 簡單 搭建Dubbo服務

 Dubbo框架圖

由上圖可見,Dubbo框架分類提供者(Provider)、消費者(Consumer)、註冊中心(Registry)、監視器(Monitor可以不要)組成;

搭建步驟可以分爲四步:

  1. 使用zookeeper創建註冊中心;
  2. 創建提供者服務;
  3. 創建消費者服務;
  4. 創建監視器;

 第一步:安裝zookeeper

  • 下載zookeeper

下載地址:https://archive.apache.org/dist/zookeeper/zookeeper-3.4.14/

下載文件:zookeeper-3.4.14.tar.gz

  • 上傳到服務器安裝
  1. 服務器上創建一個固定目錄 mkdir zookeeper創建;
  2. 使用rz命令將安裝包上傳到該目錄;
  3. 解壓 tar zxvf zookeeper-3.4.14.tar.gz;
  4. 進入解壓目錄的conf目錄;mv zoo_sample.cfg   zoo.cfg
  5. 在解壓目錄下創建 data目錄;mkdir data;

  1. 修改zoo.cfg配置文件

注意幾個重要位置:

dataDir=./   臨時數據存儲的目錄(可寫相對路徑)改成我們剛建立的data路徑

clientPort=2181   zookeeper的默認端口號

bin目錄啓zookeeper服務 

  • 1. 啓動ZK服務: bin/zkServer.sh start
  • 2. 查看ZK服務狀態: bin/zkServer.sh status
  • 3. 停止ZK服務: bin/zkServer.sh stop
  • 4. 重啓ZK服務: bin/zkServer.sh restart
  • 5. 連接服務器: zkCli.sh -server 127.0.0.1:2181

第二步:創建提供者服務端

項目結構:

項目內容直接下載,不再展示

DubboWeb.rar

ApplicationContext.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"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://code.alibabatech.com/schema/dubbo
	http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
   <!-- bean definitions go here--> 
   <!-- 配置dubbo的應用名稱 -->
   <dubbo:application name="student_service"></dubbo:application>
   <!-- 配置dubbo的配置中心  192.168.234.118-->
   <!--  dubbo:registry  address="zookeeper://122.51.144.197:2181" ></dubbo:registry>-->
   <dubbo:registry  protocol="zookeeper" address="zookeeper://122.51.144.197:2181" ></dubbo:registry>
   <!-- 配置dubbo的掃描包 將@service註解的類放入dubbo掃描包,供dubbo遠程調用(RPC)時使用-->
   <dubbo:annotation package="com.test.impl"></dubbo:annotation>
	<!-- 注入到spring的 ioc容器中 -->
   <context:component-scan base-package="com.test.impl"></context:component-scan>
	 
</beans>

啓動服務端

eclipse  創建maven命令:右鍵項目 -》run as -》創建maven build-》Goals ->tomcat7:run

啓動服務:

 第三步 :創建消費者

項目目錄架構:

代碼直接下載:

dubbo-client.rar

控制層代碼如下:

package org.controller;

//import org.server.StudentServer;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;

import com.alibaba.dubbo.config.annotation.Reference;
import com.test.api.StudentServer;

@Controller
@ResponseBody
@RequestMapping("StudentController")
public class StudentController {
	@Reference StudentServer studentServer;	
	@RequestMapping("rpcServer")
	public String rpcServer() {
		String respmsg=studentServer.server("你好");
		System.out.println("respmsg:"+respmsg);
		return respmsg;
	}
}

spring-mvc.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"
    xmlns:context="http://www.springframework.org/schema/context"
    xsi:schemaLocation="http://www.springframework.org/schema/beans
    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
    http://www.springframework.org/schema/context
    http://www.springframework.org/schema/context/spring-context-3.0.xsd
    http://code.alibabatech.com/schema/dubbo
	http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
   <dubbo:annotation package="org.controller"></dubbo:annotation>
   <!--  <context:annotation-config/>-->
   <!-- bean definitions go here--> 
   <!-- 配置dubbo的應用名稱 -->
   <dubbo:application name="student_consumer"></dubbo:application>
   <!-- 配置dubbo的配置中心 -->
   <dubbo:registry  protocol="zookeeper" address="zookeeper://122.51.144.197:2181" ></dubbo:registry>
   <!--  <dubbo:registry protocol="zookeeper" address="zookeeper://192.168.234.118:2181" ></dubbo:registry>-->
   <!-- 配置dubbo的掃描包 將@service註解的類放入dubbo掃描包,供dubbo遠程調用(RPC)時使用-->
   
	<!-- 要引用的服務,生成遠程服務代理,可以像使用本地bean一樣使用 -->
	<dubbo:reference id="StudentServer" interface="com.test.api.StudentServer" /> 
   <!-- 注入到spring的 ioc容器中 -->
   <context:component-scan base-package="org.controller"></context:component-scan>
	
</beans>

eclipse  創建maven命令:右鍵項目 -》run as -》創建maven build-》Goals ->tomcat7:run

此時項目已經可以運行了,爲了可視化管理服務,我們創建監管者,監管服務情況

 第四步:安裝dubbo-admin

github下載dubbo-admin,打成war包,放在tomcat容器中webapp目錄中,重啓tomcat服務;

下載地址:https://github.com/apache/dubbo-admin

  • 進入目錄,修改dubbo-admin配置

修改 src\main\resources\application.properties 指定zookeeper地址

我打好的war包:

dubbo-admin.war

bin目錄重新啓動tomcat startup.sh

默認登錄用戶 admin 密碼guest

 

 登錄dubbo-admin可以查看服務情況如下

訪問消費方服務地址:

 http://localhost:8882/StudentController/rpcServer.action

效果如下:

發佈了18 篇原創文章 · 獲贊 5 · 訪問量 1萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章