• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于Dubbox的分布式服務(wù)架構(gòu)設(shè)計(jì)與實(shí)現(xiàn)

      2016-05-14 21:05:59謝璐俊楊鶴彪
      軟件導(dǎo)刊 2016年5期

      謝璐俊 楊鶴彪

      摘要:隨著信息化的發(fā)展,企業(yè)軟件應(yīng)用規(guī)模不斷擴(kuò)大,常規(guī)的垂直應(yīng)用架構(gòu)已無法應(yīng)對,分布式服務(wù)架構(gòu)以及流動(dòng)計(jì)算架構(gòu)勢在必行。闡述了如何通過Dubbox框架,將垂直應(yīng)用架構(gòu)變成分布式服務(wù)架構(gòu)。實(shí)驗(yàn)結(jié)果表明,改進(jìn)后的架構(gòu)可以顯著提高系統(tǒng)的健壯性和運(yùn)行效率。

      關(guān)鍵詞:Dubbo;Dubbox;SOA;分布式服務(wù)架構(gòu)

      DOIDOI:10.11907/rjdk.161137

      中圖分類號(hào):TP303

      文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1672-7800(2016)005-0013-03

      0 引言

      SOA是一種架構(gòu)模型,它可以根據(jù)需求通過網(wǎng)絡(luò)對松散耦合的粗粒度應(yīng)用組件進(jìn)行分布式部署、組合和使用。服務(wù)層是SOA的基礎(chǔ),可以直接應(yīng)用調(diào)用,從而有效控制系統(tǒng)中與軟件代理交互的人為依賴性。

      Dubbo是阿里巴巴內(nèi)部的SOA服務(wù)化治理方案的核心框架,每天為2 000多個(gè)服務(wù)提供3億多次訪問量支持,廣泛應(yīng)用于阿里巴巴集團(tuán)的各成員站點(diǎn)。Dubbo自2011年開源后,已被許多非阿里系公司使用[1]。其中當(dāng)當(dāng)根據(jù)自身的需求,為Dubbo實(shí)現(xiàn)了一些新的功能,包括REST風(fēng)格遠(yuǎn)程調(diào)用、Kryo/FST序列化等等,并將其命名為Dubbox(即Dubbo eXtensions)。鑒于此,很多公司SOA框架都采用Dobbox,本文在介紹Dobbox的基礎(chǔ)上,將原有的垂直應(yīng)用架構(gòu)查詢系統(tǒng)用Dobbox進(jìn)行改進(jìn),使之成為分布式服務(wù)架構(gòu)。本文分析了架構(gòu)的關(guān)鍵技術(shù),并進(jìn)行了性能評估。

      1 Dubbox 架構(gòu)設(shè)計(jì)

      1.1 節(jié)點(diǎn)角色說明

      Provider:暴露服務(wù)的服務(wù)提供方;

      Consumer:調(diào)用遠(yuǎn)程服務(wù)的服務(wù)消費(fèi)方;

      Registry:服務(wù)注冊與發(fā)現(xiàn)的注冊中心;

      Monitor:統(tǒng)計(jì)服務(wù)的調(diào)用次數(shù)和調(diào)用時(shí)間的監(jiān)控中心;

      Container:服務(wù)運(yùn)行容器。

      1.2 調(diào)用關(guān)系說明

      具體如下:①服務(wù)容器負(fù)責(zé)啟動(dòng)、加載,運(yùn)行服務(wù)提供者;②服務(wù)提供者在啟動(dòng)時(shí),向注冊中心注冊提供的服務(wù);③服務(wù)消費(fèi)者在啟動(dòng)時(shí),向注冊中心訂閱所需服務(wù);④注冊中心返回服務(wù)提供者地址列表給消費(fèi)者,如果有變更,注冊中心將基于長連接推送變更數(shù)據(jù)給消費(fèi)者;⑤服務(wù)消費(fèi)者從地址列表中,基于軟負(fù)載均衡算法,選一臺(tái)提供者進(jìn)行調(diào)用,如果調(diào)用失敗,再選另一臺(tái)調(diào)用;⑥服務(wù)消費(fèi)者和提供者,在內(nèi)存中累計(jì)調(diào)用次數(shù)和調(diào)用時(shí)間,定時(shí)每分鐘發(fā)送一次統(tǒng)計(jì)數(shù)據(jù)到監(jiān)控中心。

      2 數(shù)據(jù)服務(wù)化系統(tǒng)部署與設(shè)計(jì)

      一個(gè)完整的Dubbox服務(wù)架構(gòu)部署,包括Provider(服務(wù)提供者)、Consumer(消費(fèi)者)、Registry(注冊中心)、Monitor(監(jiān)控中心)和Container(運(yùn)行容器),采用Spring的配置方式。下面介紹如何部署Dubbox以及將一個(gè)傳統(tǒng)的查詢業(yè)務(wù)部署在Dubbox上[3]。

      2.1 注冊中心ZooKeeper

      ZooKeeper是一個(gè)分布式開源框架,提供了協(xié)調(diào)分布式應(yīng)用的基本服務(wù),它向外部應(yīng)用暴露一組通用服務(wù)——分布式同步、命名服務(wù)、集群維護(hù)等,簡化分布式應(yīng)用協(xié)調(diào)及其管理的難度,提供高性能的分布式服務(wù)。

      本文以ZooKeeper作為Dobbux的注冊中心。ZooKeeper的安裝十分簡便,首先從官網(wǎng)上下載ZooKeeper,解壓后,進(jìn)入到zooKeeper的conf文件夾中,將zoo_sample.cfg重新命名為zoo.cfg,并且寫上每個(gè)節(jié)點(diǎn)的名稱和對應(yīng)IP,然后啟動(dòng)。

      2.2 Container

      服務(wù)的運(yùn)行依賴于容器,Dubbox支持大多數(shù)Web容器,本文的provider使用的是tomcat容器,consumer使用的是jetty容器

      2.3 Provider

      從github下載Dubbox的源碼用maven進(jìn)行編譯,并且用maven將項(xiàng)目導(dǎo)入到eclipse中,其中dubbo-demo-provider就是一個(gè)已經(jīng)配置好的provider的demo,刪除里面的類和spring其它服務(wù)的配置,添加自己的類,并在spring中添加配置。

      →符號(hào)左邊是Consumer的訪問情況,→符號(hào)右邊是Provider的訪問情況,可以看出訪問延時(shí)非常的小,應(yīng)用程序分布式部署,擁有了橫向擴(kuò)展和容錯(cuò)性特點(diǎn),實(shí)驗(yàn)證明在采用分布式服務(wù)架構(gòu)以后,優(yōu)化了查詢性能,提高了服務(wù)健壯性。

      參考文獻(xiàn):

      [1]阿里巴巴.Dubbo用戶指南[EB/OL].http://dubbo.io/User+Guide-zh.htm

      [2]戴亞娥,俞成海,堯飄海.基于REST架構(gòu)風(fēng)格的Web2.0實(shí)現(xiàn)[J].計(jì)算機(jī)系統(tǒng)應(yīng)用,2009(2):165-168.

      [3]丁振凡.Spring REST風(fēng)格Web服務(wù)的Json消息封裝及解析研究[J].智能計(jì)算機(jī)與應(yīng)用,2012,2(2):9-10.

      [4]當(dāng)當(dāng).在Dubbo中開發(fā)REST風(fēng)格的遠(yuǎn)程調(diào)用[EB/OL].http://dangdangdotcom.github.io/dubbox/rest.html

      [5]陳志剛,曾志文.中間應(yīng)用服務(wù)器動(dòng)態(tài)負(fù)載均衡的物理模型[J].計(jì)算機(jī)工程,2004,27(1):44-45.

      (責(zé)任編輯:杜能鋼)

      Abstract:With the development of information technology,the scale of the enterprise software application become lagrer and larger,the conventional vertical application architecture has been unable to cope with it,distributed service architecture and flow computing architecture is imperative.This paper mainly introduces how to use dubbox framework,vertical application architecture into distributed service architecture.The experimental results show that the improved structure,can significantly improve the robustness and efficiency of the system.

      Key Words:Dubbo;Dubbox;SOA;Distributed Service Architecture

      杭锦后旗| 漳平市| 新田县| 南京市| 司法| 蛟河市| 吉首市| 高州市| 岐山县| 隆德县| 杭州市| 阜宁县| 洛川县| 永顺县| 新泰市| 阳原县| 呼玛县| 沽源县| 襄汾县| 渭源县| 华阴市| 新河县| 中宁县| 商丘市| 保靖县| 敦化市| 吉安市| 永安市| 宜宾市| 滕州市| 伊川县| 两当县| 枝江市| 永福县| 蒙城县| 二连浩特市| 陕西省| 兴宁市| 全椒县| 黄浦区| 巴林左旗|