1. 程式人生 > >dubbox 2.8.4的配置和使用

dubbox 2.8.4的配置和使用

關於dubbox的核心原理和細節會另開一篇文章來介紹,這篇文章主要是從配置和應用層面來介紹dubbox 2.8.4的使用。

zookeeper的安裝

1、準備工作

2、解壓和安裝zookeeper
zookeeper的目錄我是放置在/usr/zookeeper-3.4.6/這個位置,所以:
tar -zxvf ./zookeeper-3.4.6.tar.gz
mv ./zookeeper-3.4.6 /usr/zookeeper-3.4.6/

同樣的,設定全域性環境變數:
export PATH=/usr/zookeeper-3.4.6/bin:$PATH

好的,安裝完成了,是不是簡單。接下來,我們講解一下zookeeper的主配置檔案。zookeeper的主配置檔案所在的地址是:${您的zookeeper安裝位置}/conf/zoo.cfg
但是,解壓後的zookeeper並沒有這個配置檔案,有一個名叫zoo_sample.cfg,所以,我們複製一個zoo.cfg檔案:
cp /usr/zookeeper-3.4.6/conf/zoo_sample.cfg /usr/zookeeper-3.4.6/conf/zoo.cfg

最後,使用zkServer.sh start命令,啟動zookeeper:

[[email protected] ~]# zkServer.sh start
JMX enabled by default
Using config: /usr/zookeeper-3.4.6/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

dubbox

2、編譯原始碼(此處預設大家會用maven了)
執行maven命令:mvn clean install -Dmaven.test.skip=true
將dubbox的原始碼打包釋出到本地倉庫,目的是為了獲取:dubbo-admin-2.8.4.war和dubbo-monitor.war

dubbox-admin管理端

1、部署dubbo-admin管理端,將dubbo-admin-2.8.4.war放置到準備好的tomcat目錄
2、修改WEB-INF下dubbo.properties
主要是修改zookeeper的地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
3、執行tomcat
輸入地址:http://localhost:8080/dubbo-admin-2.8.4
預設登入賬戶和密碼均為:root
4、登入後首頁
這裡寫圖片描述
到此為止,dubbox的後臺管理端就配置成功了

dubbox-monitor監控端

Dubbo-Monitor配置介紹
1、建立資料庫 首先建立名稱為monitor資料庫,編碼格式UTF-8。然後將專案sql資料夾下面的create.sql匯入到資料庫,生成dubbo_invoke表代表成功匯入。
下載地址:http://download.csdn.net/detail/u011282930/9650381

2、編輯專案中application.properties,配置如下:

####Dubbo Settings
dubbo.application.name=dubbo-monitor
dubbo.application.owner=handu.com
dubbo.registry.address=zookeeper://127.0.0.1:2181
dubbo.protocol.port=6060

####Database Settings
db.url=jdbc:mysql://<database_host>:<database_port>/monitor?prepStmtCacheSize=517&cachePrepStmts=true&autoReconnect=true&characterEncoding=utf-8
db.username=root
db.password=root
db.maxActive=500

####System Manager
manager.username=admin
manager.password=admin

3、打包執行專案 執行maven命令:mvn clean package target資料夾下生成的dubbo-monitor.war即為專案部署檔案,將其放置到對應伺服器目錄下,啟動伺服器即可。例如:tomcat的webapps資料夾下。

4、訪問專案 啟動web伺服器後,訪問地址:http://IP:[port]/dubbo-moniotor,採用配置檔案中manager.username和manager.password設定值進行登入。
這裡寫圖片描述
5、透過dubbox服務管理端,我們會發現多了一個monitor的服務
這裡寫圖片描述

下文預設大家已經用maven引入相關依賴或者匯入相關包了

具體依賴jar包如下圖所示
這裡寫圖片描述
maven依賴庫

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo</artifactId>
            <version>2.8.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo-rpc-rest</artifactId>
            <version>2.8.4</version>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>dubbo-rpc-webservice</artifactId>
            <version>2.8.4</version>
        </dependency>
        <dependency>
            <groupId>com.101tec</groupId>
            <artifactId>zkclient</artifactId>
            <version>0.2</version>
        </dependency>

        <dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.3.6</version>
            <exclusions>
                <exclusion>
                    <groupId>log4j</groupId>
                    <artifactId>log4j</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
        </dependency>

服務提供者例項開發

1、定義一個Service介面和相關實現類
定義一個介面,IUserService.java

package service;
public interface IUserService {
    public void sayHello();
}

實現這個介面,UserService.java

package service;
public class UserService implements IUserService {

    @Override
    public void sayHello() {
        System.err.println("HELLO WORLD!");
    }

}

2、配置這個介面的xml檔案,dubbo-provider.xml

<?xml version="1.1" 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 owner="whb" name="hello-world-app" />
    <!--zookeeper註冊中心 -->
    <dubbo:registry address="zookeeper://172.17.84.84:2181"/>
    <!--使用multicast廣播註冊中心暴露服務地址 -->
    <!--<dubbo:registry address="multicast://10.57.41.19:1234" /> -->
    <dubbo:protocol name ="dubbo" port="20880" />
    <!-- 配置監控的服務地址和IP-->
    <dubbo:monitor address="127.0.0.1:7070"  />
    <!-- 釋出這個服務 -->
    <dubbo:service  protocol="dubbo"  timeout="2000" connections="100" interface ="service.IUserService" ref="userService" />       
    <!-- 和本地bean一樣實現服務 -->
    <bean id="userService"
        class="service.UserService" />
</beans>  

3、執行釋出我們的介面,LuncherProvider.java

package demo;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

public class LuncherProvider {
    public static void main(String[] args) throws InterruptedException {
        LuncherProvider luncher = new LuncherProvider();
        luncher.start();
        Thread.sleep(1000 * 60 * 10);
    }

    void start() {
        String configLocation = "classpath*:/dubbo-provider.xml";
        ApplicationContext context = new ClassPathXmlApplicationContext(
                configLocation);
        String[] names = context.getBeanDefinitionNames();
        System.out.print("Beans:");
        for (String string : names)
            System.out.print(string + ",");
        System.out.println();
    }
}

控制檯輸出如下內容,為成功
這裡寫圖片描述
通過dubbox管理端來檢視我們的服務,通過下圖,我們可以看到我們的服務已經註冊到zookeeper了
這裡寫圖片描述

消費者例項開發

如何呼叫我們釋出的服務呢?
1、定義一個一模一樣的介面,IUserService.java

package service;

public interface IUserService {
    public void sayHello();
}

2、配置這個介面呼叫資訊,

<?xml version="1.1" 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-of-helloworld-app" />  
         <!--zookeeper註冊中心 -->  
         <dubbo:registry  protocol="zookeeper" address="172.17.84.84:2181" />   
         <!--使用multicast廣播註冊中心暴露的服務地址 -->  
         <!--<dubbo:registryaddress="multicast://10.57.41.19:1234" /> -->  
          <!--         <dubbo:monitor address="127.0.0.1:7070"  /> -->
          <!-- 生成遠端服務代理,可以和本地bean一樣使用IUserService-->  
         <dubbo:reference id="userService" interface="service.IUserService" />  
</beans>  

3、測試呼叫服務的程式碼,LuncherConsumer.java

package demo;



import org.springframework.context.ApplicationContext;  
import org.springframework.context.support.ClassPathXmlApplicationContext;

import service.IUserService;  


public class LuncherConsumer  {  
         public static void main(String[] args) throws InterruptedException{  
                   LuncherConsumer luncher=new LuncherConsumer();
                   String configLocation="classpath*:/dubbo-consumer.xml";  
                   ApplicationContext context =new ClassPathXmlApplicationContext(configLocation);  
                   IUserService us=(IUserService) context.getBean("userService");  
                   String[] names=context.getBeanDefinitionNames();  
                   us.sayHello();
         }  
}  

觀察服務端的控制檯,會輸出“HELLO WORLD”
這裡寫圖片描述

至此,dubbox的配置和使用就成功了!

相關推薦

dubbox 2.8.4配置使用

關於dubbox的核心原理和細節會另開一篇文章來介紹,這篇文章主要是從配置和應用層面來介紹dubbox 2.8.4的使用。 zookeeper的安裝 1、準備工作 2、解壓和安裝zookeeper zookeeper的目錄我是放置在/us

Maven本地jar包部署與安裝:dubbox-2.8.4.jar

Dubbox前身是阿里巴巴的Dubbo專案,阿里巴巴解散了Dubbo團隊後,由噹噹網繼續維護此專案,改名為Dubbox,但是沒有提交到Maven中央倉庫(突然發現阿里巴巴又開始進行dubbo維護了,停止維護時的版本是2.5.3,現在是2.6.4)這些就不管了,現在我手動將Dubbox的jar包安裝到本地倉庫中

Dubbox-2.8.4安裝到本地倉庫

1、先去github下載噹噹網維護的dubbox-2.8.4 https://github.com/dangdangdotcom/dubbox/tree/dubbox-2.8.4 2、解壓dubbox-2.8.4.zip壓縮包       3、用m

qt-4.8.4安裝環境變量配置

eight pat too dir ack console int separate fonts 在Linux中分別安裝應用於不同平臺的Qt:PC。嵌入式X86;ARM。 這三者PC版、嵌入式X86版和ARM版的差別主要體如今:當configure時分別加了不同的

ijkPlayer支援https增加沉浸式帶有so檔案,EXOplayer升級到r.2.8.4

QQ交流群:611902811,有興趣的可以交流 IJKPlayer-android 優勢: 對ijkplayer的抽取值刪除了IjkVideoView.java類中幾個無關緊要的變數和方法,其他與ijkplayer本身一摸一樣。這樣ijkplay

dubbo 2.8.4dubbox)從git下載到安裝至maven本地倉庫

1. 下載 2.  解壓zip檔案 3.  用maven編譯檔案 如果沒有配置全域性maven,則就進入maven的bin下,執行cmd命令(按住shift後滑鼠右鍵,選擇‘在此處開啟命令視窗’ 或在上面的位址列直接輸入cmd也可以): 執行命令(若是貼上

dubbox(dubbo 版本2.8.4)新增到本地maven倉庫

1、下載原始碼:然後解壓;2、在原始碼路徑下執行: mvn clean install -Dmaven.test.skip=true然後在每一個資料夾下有一個target目錄,裡面有jar包和war包。3、執行  mvn install:install-file -Dfile

Hadoop 0.20.2+Ubuntu13.04配置WordCount測試

password trac 讓我 說明 core jvm -m launchpad 1.7 事實上這篇博客寫的有些晚了。之前做過一些總結後來學校的事給忘了,這幾天想又一次拿來玩玩發現有的東西記不住了。翻博客發現居然沒有。好吧,所以趕緊寫一份留著自己用吧。這東西網上有非常

《挑戰程序競賽》 2.1.4 部分問題

als 按順序 space code log pre std mes namespace 題意:給定整數a1,a2,a3,...,an,判斷是否可以從中選出若幹數,使它們的和恰好為k。 解法:利用dfs深度優先遍歷,從a1開始按順序決定每個數是加還是不加。 code

2.6相對絕對路徑;2.7CD命令;2.8創建刪除目錄mkdir rmdir;2.9rm命令

創建刪掉目錄命令 絕對路徑和相對路徑2.6 相對和絕對路徑1. 查看當前在哪個目錄下:pwd[root@hao-01 ~]# pwd/root (當前在root目錄,root目錄是在/(根)下的目錄!)絕對路徑:從/(根),開始的路徑(不管當前在哪個目錄下,都可以根據絕對路徑找到的路徑)[root@

2.6 相對絕對路徑 2.7 cd命令 2.8 創建刪除目錄mkdir/rmdir 2.9 rm

cd mkdir rmdir 2.6 相對和絕對路徑1、相對與絕對路徑絕對路徑:是從根開始的,也就是/相對路徑:是從相對當前的路徑[root@wangborambo ~]# ls .ssh/authorized_keys.ssh/authorized_keys[root@wangborambo ~

2.6 相對絕對路徑 2.7 cd命令 2.8 創建刪除目錄2.9 rm命令

ado mdi 51cto etc col 例如 sco images 圖片 絕對路徑的概念:從“/”開始的均為絕對路徑,例如我們常用的網卡配置文件/etc/sysconfig/network-scripts/ifcfg-ens33,這就是一個絕對路徑文件。相對路徑的概念:

2.8.4 錯誤的加鎖

rup args 多線程 clas print 加鎖 cal row integer package 第二章.錯誤的加鎖;/** * Created by zzq on 2018/1/22. */public class BadLockOnInteger implement

2.8創建刪除目錄mkdir rmdir

mkdir創建目錄 rmdir刪除目錄 2.8創建和刪除目錄mkdir rmdirmkdir 是make directory 的縮寫 創建目錄的意思mkdir 只可創建單個目錄 不可創建一串目錄 [root@localhost /]# mkdir /tmp/laozhilinux/[root@

2.3Options建立配置實體的對映「深入淺出ASP.NET Core系列」

希望給你3-5分鐘的碎片化學習,可能是坐地鐵、等公交,積少成多,水滴石穿,謝謝關注。 Startup.cs中建立MVC中介軟體   關鍵程式碼:services.AddMvc();app.UseMvcWithDefaultRoute(); 關於中介軟體的內部機制,後續

coco2d-2.0-x-2.0.4配置

視訊演示地址: http://pan.baidu.com/share/link?shareid=1156455762&uk=2852448554   首先下載好相應的工具 cocos2d-2.0-x

UBUNTU16 64位編譯VLC-2.2.8/4 WIN32應用 遇到的問題及解決辦法

主要參考: https://blog.csdn.net/longji/article/details/52304590  vlc-2.2.4 交叉編譯 UbuntuX64_1604_Desktop 編譯windows版本vlc 1,make prebuil

elasticsearch入門指南(一)elasticsearch-5.5.2安裝、配置啟動

一,安裝JDK    略二,安裝elasticsearch1,下載安裝包官網下載地址:https://www.elastic.co/cn/downloads/elasticsearch,本文centos作業系統下安裝elasticsearch的tar包為例,講述安裝過程2,新

報錯Missing artifact com.alibaba:dubbo:jar:2.8.4

maven 報錯 Missing artifact com.alibaba:dubbo:jar:2.8.4 原因:。在阿里雲的倉庫可能沒有相關jar包,必須的自己下載dubbox-master.zip,再用maven進行編譯 解決方法: 一.下載地址有兩個github:   第一

spring boot 與dubbo 2.8.4整合的一些問題

         對於spring boot也支援xml配置的方式,所以如果使用dubbo註解這是不叫簡單的方式,只需要對spring boot 的啟動類的頭部加上@ImportResource(locations = {"配置檔案的位置"}),這樣就搞定了,在配置後發現啟