1. 程式人生 > >【Java】Dubbo+zookeeper搭建分散式服務框架

【Java】Dubbo+zookeeper搭建分散式服務框架

一、前言

      前一段時間,小編工作的架構換成了Dubbo的分散式架構,專案也改成了SOA(面向服務的架構),在專案中分成了六個服務,每個服務可以單獨執行,服務之間也可以互相呼叫。下面小編就Dubbo官網提供的一個簡單的Demo來帶領大家實現一個分散式服務框架。

二、環境要求

  • idea ,Eclipse也可以

  • Centos 7

  • zookeeper安裝包

  • Linux 環境下的 jdk-8u131-linux-x64.rpm

  • 聯網下載Dubbo官網提供的程式碼

      說明: 
      為啥我們要搭建一個分散式服務架構還需要裝zookeeper呢? 
這個就得從Dubbo的機制來說明了,從下圖可以看出,Dubbo架構中分成了提供者

消費者,提供者需要把自己的服務註冊到註冊中心,消費者訂閱註冊中心,註冊中心有提供者後,會通知消費者。


這裡寫圖片描述

三、安裝zookeeper

      安裝ZK需要安裝jdk。

3.1 Centos 7 安裝 Jdk

1、下載jdk並上傳到/usr/local/src目錄

      使用WinSCP軟體,把下載好的jdk-8u131-linux-x64.rpm,上傳到/usr/local/src下。

2、解壓安裝

      執行如下命令進行解壓

rpm -ivh jdk-8u131-linux-x64.rpm

這裡寫圖片描述

3、配置profile檔案

      執行如下命令:

    vim /etc/profile

      將如下內容新增內容新增到profile檔案末尾

    export JAVA_HOME=/usr/java/jdk1.8.0_131
    export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
    export PATH=$PATH:$JAVA_HOME/bin

這裡寫圖片描述

      儲存之後,執行如下命令使配置生效

    source /etc/profile

      檢查jdk是否安裝成功,執行如下命令

    java -version

3.2 安裝zk

3.1下載ZooKeeper

      到目前為止,最新版本的ZooKeeper是3.4.6(ZooKeeper-3.4.6.tar.gz)。 

步驟2.2:解壓tar檔案

      使用以下命令提取tar檔案 -

    $ cd opt/
    $ tar -zxf zookeeper-3.4.6.tar.gz
    $ cd zookeeper-3.4.6
    $ mkdir data

步驟2.3:建立配置檔案

在zookeeper/conf下的建立一個zoo.cfg檔案

      使用命令 vi conf / zoo.cfg 開啟名為 conf / zoo.cfg 的配置檔案,並將所有以下引數設定為起點。

    $ vi conf/zoo.cfg

    tickTime = 2000
    dataDir = /path/to/zookeeper/data
    clientPort = 2181
    initLimit = 5
    syncLimit = 2

      一旦成功儲存配置檔案,再次返回終端。 您現在可以啟動zookeeper伺服器。

步驟2.4:啟動ZooKeeper伺服器

      執行以下命令 :

    $ bin/zkServer.sh start

      執行此命令後,您將收到一個響應如下 :

    $ JMX enabled by default
    $ Using config: /Users/../zookeeper-3.4.6/bin/../conf/zoo.cfg
    $ Starting zookeeper ... STARTED

步驟2.5:啟動CLI

      鍵入以下命令 :

    $ bin/zkCli.sh

      輸入上述命令後,您將連線到ZooKeeper伺服器,您應該得到以下響應。

    Connecting to localhost:2181
    ................
    ................
    ................
    Welcome to ZooKeeper!
    ................
    ................
    WATCHER::
    WatchedEvent state:SyncConnected type: None path:null
    [zk: localhost:2181(CONNECTED) 0]

      停止ZooKeeper伺服器 
      連線伺服器並執行所有操作後,可以使用以下命令停止zookeeper伺服器。

    $ bin/zkServer.sh stop

四、Dubbo專案

      在Dubbo官網中下載專案中:


這裡寫圖片描述

      匯入idea:


這裡寫圖片描述

      使用dubbo-demo進行測試:專案中分為了提供者和消費者:


這裡寫圖片描述

      修改註冊中心的路徑:


這裡寫圖片描述

      先執行生產者:


這裡寫圖片描述

      執行消費者:


這裡寫圖片描述

      在生產者得到的反饋:


這裡寫圖片描述

五、小結

      通過這次的動手實踐,對Dubbo的執行環境有了一個初步的瞭解,也更加對專案中的框架認識更加的深刻。這篇部落格中,小編沒有貼程式碼,沒有對程式碼中的資訊進行分析,這些將在後面的部落格中向大家依次介紹。敬請期待。

相關推薦

JavaDubbo+zookeeper搭建分散式服務框架

一、前言      前一段時間,小編工作的架構換成了Dubbo的分散式架構,專案也改成了SOA(面向服務的架構),在專案中分成了六個服務,每個服務可以單獨執行,服務之間也可以互相呼叫。下面小編就Dubbo官網提供的一個簡單的Demo來帶領大家實現一個分散式服務框架。二、環境要

Dubbo + zookeeper搭建分散式服務入門(帶原始碼)

dubbo + zookeeper 搭建分散式服務入門 dubbo是阿里開源的高效能RPC框架,框架圖如下: 可以分為4個部分,註冊中心,消費者,提供者和監控中心,這也是一般分散式服務的常見架構。 本文作為dubbo入門例子,採用zookeeper作為註冊

JavaRed5伺服器搭建(實現線上直播,流媒體視訊播放)

引言 流媒體檔案是目前非常流行的網路媒體格式之一,這種檔案允許使用者一邊下載一邊播放,從而大大減少了使用者等待播放的時間。另外通過網路播放流媒體檔案時,檔案本身不會在本地磁碟中儲存,這樣就節省了大量的磁碟空間開銷。正是這些優點,使得流媒體檔案被廣泛應用於網路播放。 流媒體伺服

javaintellij idea搭建SSM框架摘錄

搭什麼搭!直接用腳手架不行嗎?! 下載就能用!!下載就能用!!下載就能用!! 咳咳,開個玩笑,如果本著學習態度的話,那就慢慢啃吧~ 搭建空的Maven專案 使用Intellij idea 搭建基本的maven空專案 new-&

JAVASpring HTTP Invoker 遠端服務呼叫

遠端服務呼叫在實際的專案中很常用,在多重方式中,HTTP應該算是比較常用的,對客戶端來說也很方便 但是spring http invoker只支援JAVA語言,結構簡單,只依賴與spring框架本身。 首先我們來看服務端(依賴於WEB容器來啟動,tomcat/jetty)

dubbo(開源分散式服務框架)-demo

dubbo-demo-api  提供服務者和消費者都需要介面名和方法名才能呼叫 dubbo-demo-consumer  服務消費者(消費者) dubbo-demo-provider 服務提供者(生產者) dubbo-demo-parent maven父版本提供者

dubbo(開源分散式服務框架)1---------Dubbo需要四大基本元件

Dubbo需要四大基本元件:Registry、Monitor、Provider、Consumer。  Provider:提供者 Consumer:消費者 registry:註冊中心(相當於中介) monitor:監控中心(dubbo自己的監控專案,直接解壓在tomcat下就

Java 集合系列01(總體框架

Java集合是Java提供的工具包,包含了常用的資料結構:集合、連結串列、佇列、棧、陣列、對映等。 Java集合工具包的位置是Java.util.*。 Java集合主要可以劃分為四個部分:List列表、Set集合、Map對映、工具類(Iterator迭代器、

JEECG Dubbo專題Dubbo+Zookeeper+Spring整合應用篇-Dubbo基於Zookeeper實現分散式服務(二)...

Dubbo與Zookeeper、Spring整合使用 Dubbo採用全Spring配置方式,透明化接入應用,對應用沒有任何API侵入,只需用Spring載入Dubbo的配置即可,Dubbo基於Spring的Schema擴充套件進行載入。 一:單機模式安裝zookeepe

高可用分散式服務框架搭建DubboZooKeeper

以下是官方例項部署方法。此處涉及四個服務: zookeeper:註冊中心 dubbo-admin:服務管理後臺 dubbo-demo-provider:生產者(服務提供者) dubbo-demo-consumer:消費者(服務使用者) 需要注意的是,必

java分散式服務框架:zookeeper+dubbo+springmvc整合

Dubbo是一個分散式服務框架,在這基礎上可以做成分散式計算機網路解決很多高併發或者資料處理量大的問題!二zookeeper又是dubbo的一個重要元件,在此,我藉助java語言和springmvc框架介紹如何初步構建一個dubbo服務框架.一:Dubbo背景大規模服務化之前

Dubbo分散式服務框架2.基於配置的服務提供者和消費者

一個使用Dubbo的系統架構圖如下: 可分為以下幾個角色: (1)Provider:暴露服務的服務提供方。 (2)Consumer:呼叫遠端服務的服務消費方。 (3)Registry:服務註冊與發現的註冊中心。 (4)Monitor:統計服務的呼叫次調和呼叫時間的監控中心。

Java一臺服務器配置多個Tomcat

shu 找到 通過 下載 ref connect 解決方案 .gz header 需求緣由 最近接收了一個新的工具業務:ipublish發布系統,剛接手這個業務的時候,發現每次發布新的代碼 需要到群裏告知大家,我要停服務幾分鐘,準備更新代碼啦。這尼瑪 哪個公司

Dubbo分散式服務框架搭建

一、zookeeper安裝與啟動 1.前往https://www.apache.org/dyn/closer.cgi/zookeeper/下載zookeeper。 2.將路徑zookeeper-3.5.2-alpha\conf下zoo_sample.cfg 改名為 zoo.cfg。 3.

分散式日誌框架之ExceptionLess:自行搭建幫助文件翻譯

原文地址:https://github.com/exceptionless/Exceptionless/wiki/Self-Hosting ExceptionLess自行託管環境搭建 一、測試環境  如果你想在本地測試ExceptionLess,請遵循本節如下步驟。但是,請注意!以下事項僅

JAVAJDK安裝和環境搭建(jdk8+win7)

1.jdk的下載 jdk官網目前最新版本下載地址:https://www.oracle.com/technetwork/java/javase/downloads/index.html 百度雲盤地址(jdk8版本,本文以這個版本為例): https://pan.baidu.com/s/1

實戰如何親手搭建一個分散式 IM(即時通訊) 系統

前言 老讀者應該還記得我之前分享過一篇《設計一個百萬級的訊息推送系統》;雖然我在文中有貼一些虛擬碼,依然有些朋友希望能直接分享一些可以執行的原始碼;這麼久了是時候把坑填上了。 目錄結構:  

javaxml檔案表建立及讀取環境搭建並採用DOM4J完成XML檔案匯入到資料庫

    java一種簡單的解析xml方法是用DOM進行解析, dom4j是一個Java的XML API,類似於jdom,用來讀寫XML檔案的,dom4j用於處理xml是很常用的技術,本篇部落格介紹xml檔案表建立及讀取環境搭建並採用DOM4J完成XML檔案匯入到資料庫。

Maven多模組,Dubbo分散式服務框架,SpringMVC,前後端分離專案,基礎搭建搭建過程出現的問題

1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 2 xsi:schemaLocation="http://maven.apac

Python利用Django搭建REST風格API後臺服務(三)關於DRF的搜尋、分頁、排序

原文地址 簡介 這是第三篇內容,接下來我們介紹一下如何使用REST framework框架自帶的一些功能來豐富你的API。 我們都知道利用API獲取資源的場景下,不止是傻傻的查詢所有資料,然後對資料程序採集。我們如果要按照要求來篩選我們要的資料呢? 比如,