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.4(dubbox)從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 = {"配置檔案的位置"}),這樣就搞定了,在配置後發現啟