Dubbox框架

文章爲某馬程序員課件內容抽取,侵刪

什麼是SOA架構?

        SOA是Service-Oriented Architecture的首字母簡稱,它是一種支持面向服務的架構樣式。從服務、基於服務開發和服務的結果來看,向服務是一種思考方式。其實SOA架構更多應用於互聯網項目開發。

        爲什麼互聯網項目會採用SOA架構呢?隨着互聯網的發展,網站應用的規模不斷擴大,常規的垂直應用架構已無法應對,分佈式服務架構以及流動計算架構勢在必行,迫切需一個治理系統確保架構有條不紊的演進。

Dubbox簡介

        Dubbox 致力於提供高性能和透明化的RPC遠程服務調用方案,以及SOA服務治理方案。簡單的說,dubbox就是個服務框架,如果沒有分佈式的需求,其實是不需要用的,只有在分佈式的時候,纔有dubbox這樣的分佈式服務框架的需求,並且本質上是個服務調用的東東,說白了就是個遠程服務調用的分佈式框架

節點角色說明:

        Provider: 暴露服務的服務提供方。

        Consumer: 調用遠程服務的服務消費方。

        Registry: 服務註冊與發現的註冊中心。

        Monitor: 統計服務的調用次調和調用時間的監控中心。

        Container: 服務運行容器。

調用關係說明:

        0. 服務容器負責啓動,加載,運行服務提供者。

        1. 服務提供者在啓動時,向註冊中心註冊自己提供的服務。

        2. 服務消費者在啓動時,向註冊中心訂閱自己所需的服務。

        3. 註冊中心返回服務提供者地址列表給消費者,如果有變更,註冊中心將基於長連接推送變更數據給消費者。

        4. 服務消費者,從提供者地址列表中,基於軟負載均衡算法,選一臺提供者進行調用,如果調用失敗,再選另一臺調用。

        5. 服務消費者和提供者,在內存中累計調用次數和調用時間,定時每分鐘發送一次統計數據到監控中心。

註冊中心Zookeeper簡介

        註冊中心負責服務地址的註冊與查找,相當於目錄服務,服務提供者和消費者只在啓動時與註冊中心交互,註冊中心不轉發請求,壓力較小。

Zookeeper 在Linux系統的安裝

       第一步:安裝 jdk(此步省略,我給大家提供的鏡像已經安裝好JDK)

       第二步:把 zookeeper 的壓縮包(zookeeper-3.4.6.tar.gz)上傳到 linux 系統。

              Alt+P 進入SFTP ,輸入put d:\zookeeper-3.4.6.tar.gz 上傳

       第三步:解壓縮壓縮包  tar -zxvf zookeeper-3.4.6.tar.gz

       第四步:進入 zookeeper-3.4.6 目錄,創建 data 文件夾。  mkdir data

       第五步:進入conf目錄 ,把 zoo_sample.cfg 改名爲 zoo.cfg    

              cd conf

              mv zoo_sample.cfg zoo.cfg

       第六步:打開zoo.cfg ,  修改 data 屬性:dataDir=/root/zookeeper-3.4.6/data

Zookeeper 服務啓動

       進入bin目錄,啓動服務輸入命令   ./zkServer.sh start  輸出以下內容表示啓動成功

              

       關閉服務輸入命令  ./zkServer.sh stop  輸出以下提示信息

              

       查看狀態:   ./zkServer.sh status

              如果啓動狀態,提示

              

              如果未啓動狀態,提示:

              

入門小Demo(項目去svn中找https://svnbucket.com/)

       服務提供
           pom.xml,web.xml,applicationContext.xml,接口及類
       消費者
           pom.xml,web.xml,applicationContext.xml,接口及類

        注意:Service註解與原來不同,需要引入com.alibaba包下的,dubbo:annotation用於掃描@Service註解。

管理中心的部署

        在開發時,需要知道註冊中心都註冊了哪些服務,以便我們開發和測試。我們可以通過部署一個管理中心來實現。其實管理中心就是一個web應用,部署到tomcat即可。

     (1)編譯源碼,得到war包

              資源中有個dubbox-master.zip  ,這個是dubbox的源碼,我們可以使用maven命令編譯源碼得到“管理端”的war包,將此壓縮包解壓,在命令符下進入dubbo-admin目錄 ,輸入maven命令  mvn package -Dmaven.skip.test=true 如果你看到如下信息,就說明成功了

        

    (2)進入target文件夾,你會看到一個dubbo-admin-2.8.4.war , 在linux服務器上安裝tomcat,  將此war包上傳到linux服務器的tomcat的webapps下。爲了訪問方便,你可以把版本號去掉。 啓動tomcat後自動解壓。

    (3)如果你部署在zookeeper同一臺主機並且端口是默認的2181,則無需修改任何配置。如果不是在一臺主機上或端口被修改,需要修改WEB-INF下的dubbo.properties  ,修改如下配置: dubbo.registry.address=zookeeper://127.0.0.1:2181  修改後重新啓動tomcat

    (4)打開瀏覽器,輸入http://192.168.25.***:8080/dubbo-admin/ ,登錄用戶名和密碼均爲root 進入首頁。 (192.168.25.***:)是我部署的linux主機地址。

        

    (5)啓動服務提供者工程,即可在服務治理-提供者查看到該服務。

        

        點擊其中一條數據後可以查看詳情。

        

    (6)啓動服務消費者工程,運行頁面,觀察“消費者”列表

        

 

 

 

 

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章