亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Darkstar 架構(gòu)研究

        2010-08-15 00:52:53費(fèi)立寧
        科技傳播 2010年19期
        關(guān)鍵詞:服務(wù)器端線程開發(fā)者

        費(fèi)立寧

        同濟(jì)大學(xué)軟件學(xué)院,上海 201804

        0 引言

        隨著網(wǎng)絡(luò)游戲等云計(jì)算產(chǎn)業(yè)的爆發(fā)式增長(zhǎng),設(shè)計(jì)實(shí)現(xiàn)優(yōu)秀的云計(jì)算架構(gòu)已成為當(dāng)前架構(gòu)師面臨的最大挑戰(zhàn)之一。

        以網(wǎng)絡(luò)游戲?yàn)榇淼脑朴?jì)算網(wǎng)絡(luò)服務(wù)要求其架構(gòu)具有可靠、容錯(cuò)、持續(xù)、高效、伸縮等特性。當(dāng)前應(yīng)用的架構(gòu)實(shí)踐都無(wú)法穩(wěn)定,一致,經(jīng)濟(jì)并一般性的滿足所有這些特性。

        Darkstar提供了通用,健壯,高效,可伸縮并簡(jiǎn)單易用的基礎(chǔ)框架,它使開發(fā)者專注于服務(wù)的功能特性而非物理,通訊等基礎(chǔ)設(shè)施。同時(shí)它又是簡(jiǎn)單一致容易使用的一般性網(wǎng)絡(luò)服務(wù)框架。

        1 架構(gòu)設(shè)計(jì)及實(shí)現(xiàn)策略

        傳統(tǒng)的服務(wù)器擴(kuò)展方法是將整個(gè)應(yīng)用區(qū)域分成多個(gè)區(qū),不同的區(qū)運(yùn)行在不同的服務(wù)器上。這帶來(lái)兩個(gè)問(wèn)題,一個(gè)是處于不同區(qū)的用戶不能互相交互,另外一個(gè)是如果某個(gè)區(qū)發(fā)生的動(dòng)作較少時(shí),會(huì)出現(xiàn)服務(wù)器資源未被充分利用的情況。而在darkstar的處理方式下,所有的處理被分割成為一個(gè)個(gè)小的執(zhí)行單元(task),這些task可以在組成網(wǎng)絡(luò)的任何服務(wù)器上執(zhí)行,當(dāng)用戶增加時(shí),系統(tǒng)自動(dòng)增加處理線程,不再需要為了擴(kuò)展而將不同的區(qū)分配到不同的服務(wù)器上面。這樣既提高了資源利用率,又可以讓所有的用戶進(jìn)行交互。此架構(gòu)允許系統(tǒng)以一種線性的方式擴(kuò)展來(lái)滿足計(jì)算資源日益增長(zhǎng)的需求。額外的需求通常是由于同時(shí)在線用戶數(shù)量的增加、應(yīng)用程序復(fù)雜性的增加或者兩者同時(shí)發(fā)生引起的。無(wú)論哪種方式引起的,考慮到應(yīng)用運(yùn)行時(shí)的動(dòng)態(tài)行為,面對(duì)增加的任務(wù)負(fù)載,該架構(gòu)都自動(dòng)地執(zhí)行負(fù)載平衡來(lái)給與響應(yīng)。當(dāng)需要更多的容量時(shí),簡(jiǎn)單地增加更多的計(jì)算節(jié)點(diǎn)到可用的服務(wù)器池中。多個(gè)應(yīng)用甚至可以共享計(jì)算中心的服務(wù)器。

        Darkstar服務(wù)被設(shè)計(jì)為可以部署在服務(wù)器集群上,并可根據(jù)需要?jiǎng)討B(tài)插入移除若干服務(wù)器,為達(dá)成此目標(biāo),Darkstar對(duì)像被盡可能的設(shè)計(jì)為可遷移的。

        Darkstar的核心概念是托管對(duì)象(Managed Object)。托管對(duì)象必須實(shí)現(xiàn)ManagedObject和Serializable接口,并被DataManger管理于名為Object Store的對(duì)象池中。托管引用(Managed Reference)是指向托管對(duì)象的引用,提供了對(duì)托管對(duì)象的訪問(wèn)能力。一個(gè)Darkstar應(yīng)用程序內(nèi)的若干托管對(duì)象通過(guò)托管引用聯(lián)系在一起。托管對(duì)象是Darkstar設(shè)計(jì)的關(guān)鍵抽象,代表一個(gè)聚合狀態(tài)實(shí)體,同時(shí)又是一個(gè)可在各分布式服務(wù)器虛擬機(jī)間動(dòng)態(tài)遷移的單位。Darkstar提供了api屏蔽了多數(shù)的底層復(fù)雜性,例如線程調(diào)度,事務(wù)處理等等,應(yīng)用程序只需要開發(fā)并裝配自己的對(duì)象,監(jiān)聽響應(yīng)客戶端事件,自己管理持久化的 ManagedObject對(duì)象生命周期即可。雖然 Darkstar 項(xiàng)目基礎(chǔ)結(jié)構(gòu)提供的是可擴(kuò)展的多線程多節(jié)點(diǎn)環(huán)境,但是游戲服務(wù)器開發(fā)者卻如同在單機(jī)器和單線程的環(huán)境中編寫代碼。該模型最小化或消除了數(shù)據(jù)存取競(jìng)爭(zhēng)、線程調(diào)度和工作負(fù)載分布問(wèn)題,使得開發(fā)者可以集中精力編寫應(yīng)用,而不必關(guān)注可伸縮的系統(tǒng)機(jī)制。眾所周知,編寫一個(gè)復(fù)雜、多線程的應(yīng)用程序是一件困難且辛苦的事情,而擁有成功開發(fā)此類應(yīng)用程序經(jīng)驗(yàn)和技能的程序員又少之又少。使用Darkstar項(xiàng)目基礎(chǔ)結(jié)構(gòu),開發(fā)復(fù)雜性將會(huì)極大地減小。

        Darkstar有兩種通信模型。一種是客戶端/服務(wù)器端的通信,即每個(gè)客戶端只和服務(wù)器端通信,由服務(wù)器端來(lái)負(fù)責(zé)數(shù)據(jù)的處理和轉(zhuǎn)發(fā);另外一種是通道(channel)機(jī)制 (類似一對(duì)多的廣播),通道由服務(wù)器端創(chuàng)建并維護(hù),每個(gè)通道可以添加多個(gè)客戶端,服務(wù)器端可以監(jiān)聽通道中的所有通信或者具體某個(gè)客戶端的通信。也可以給通道中的全部或者部分客戶端發(fā)送消息。加入通道的客戶端可以收到其它任何客戶端發(fā)送的消息。通道下面客戶端之間的通信不需要服務(wù)器端的介入。

        會(huì)話(Session)提供了一個(gè)網(wǎng)絡(luò)節(jié)點(diǎn)間低延遲的通信機(jī)制,抽象了客戶端和服務(wù)器端之間的通信。通道提供了一個(gè)主題訂閱式的通信機(jī)制。在一個(gè)會(huì)話加入某通道(Channel)后,任何通道內(nèi)的其它成員會(huì)話都可收到此會(huì)話的消息。最重要的是,會(huì)話和通道都是可遷移的,可以像托管對(duì)象一樣根據(jù)動(dòng)態(tài)負(fù)載變化在各服務(wù)器間遷移。

        Darkstar為開發(fā)者提供了一個(gè)簡(jiǎn)單的單線程事件驅(qū)動(dòng)的編程模型,在每個(gè)事件處理中,數(shù)據(jù)所有權(quán)是單一確定的,這使開發(fā)者遠(yuǎn)離競(jìng)態(tài)和死鎖噩夢(mèng)。這些事件處理被編碼在一個(gè)任務(wù)(Task)中。任務(wù)由任務(wù)管理器(Task Manager)調(diào)度,并且也是可遷移的。在這個(gè)過(guò)程中托管引用起了重要作用,系統(tǒng)通過(guò)它將并發(fā)調(diào)用合理調(diào)度為串行調(diào)用。另一方面,這些設(shè)計(jì)也使托管對(duì)象自動(dòng)具有了事務(wù)性,讓完整而一致的對(duì)象狀態(tài)遷移成為了可能。

        2 結(jié)論

        Darkstar世界中的一切對(duì)象都是可遷移的,這給了它無(wú)限擴(kuò)展的可能,動(dòng)態(tài)負(fù)載均衡的能力,不必從項(xiàng)目的開始階段就困擾于程序的物理部署,邏輯分割,通信機(jī)制等若干層面的交叉影響,以最小的代價(jià)享有可靠、容錯(cuò)、持續(xù)、高效、伸縮等諸多特性。Darkstar讓這個(gè)領(lǐng)域更卓越的實(shí)踐成為了可能。

        [1]ht tp://www.projectdarkstar.com.

        [2]ProjectDarkstarServerApplicationTutorial.

        [3]ProjectDarkstarClientSDKTutorial.

        猜你喜歡
        服務(wù)器端線程開發(fā)者
        淺析異步通信層的架構(gòu)在ASP.NET 程序中的應(yīng)用
        成功(2018年10期)2018-03-26 02:56:14
        淺談linux多線程協(xié)作
        16%游戲開發(fā)者看好VR
        CHIP新電腦(2016年3期)2016-03-10 13:06:42
        在Windows中安裝OpenVPN
        iOS開發(fā)者調(diào)查
        電腦迷(2015年8期)2015-05-30 12:27:10
        iOS開發(fā)者調(diào)查
        電腦迷(2015年4期)2015-05-30 05:24:09
        Linux線程實(shí)現(xiàn)技術(shù)研究
        網(wǎng)頁(yè)防篡改中分布式文件同步復(fù)制系統(tǒng)
        安卓開發(fā)者之煩惱
        么移動(dòng)中間件線程池并發(fā)機(jī)制優(yōu)化改進(jìn)
        醉酒后少妇被疯狂内射视频| 精品国产色哟av一区二区三区| 中文字幕精品人妻在线| 日本又色又爽又黄又免费网站 | 午夜精品久久久久久中宇| 日韩人妻无码精品久久伊人| 亚洲福利网站在线一区不卡| 老鲁夜夜老鲁| 99精品国产99久久久久久97| 五月婷婷激情六月| 男生自撸视频在线观看| 欧美亚洲一区二区三区| 人妻少妇精品视频一区二区三区 | 亚洲免费看三级黄网站| 蜜桃一区二区在线视频| 日夜啪啪一区二区三区| 精品国产香蕉伊思人在线又爽又黄| 亚洲区1区3区4区中文字幕码| 91精品人妻一区二区三区久久久 | 丰满五十六十老熟女hd| 亚洲av中文无码乱人伦在线咪咕 | 美女精品国产一区二区三区| 国产成人自拍视频播放| 女人和拘做受全程看视频| 免费人成黄页在线观看视频国产| 亚洲成片在线看一区二区| 自拍偷拍 视频一区二区| 亚洲国产精品第一区二区| 国产系列丝袜熟女精品视频| 亚洲无人区一码二码国产内射| 人与人性恔配视频免费| 欧美日韩亚洲国内综合网| 无码AV无码免费一区二区| 日韩高清不卡一区二区三区| 少妇高潮惨叫久久久久久电影| 99视频在线国产| 97激情在线视频五月天视频| 人与人性恔配视频免费| 少妇精品久久久一区二区三区| 丰满人妻中文字幕乱码| 国产亚洲一区二区三区|