基于輪轉(zhuǎn)機(jī)制的云服務(wù)在線更新技術(shù)研究
發(fā)布時(shí)間:2018-04-09 12:19
本文選題:在線更新 切入點(diǎn):云平臺(tái) 出處:《國防科學(xué)技術(shù)大學(xué)》2014年碩士論文
【摘要】:伴隨著軟件服務(wù)從企業(yè)計(jì)算模式走向云計(jì)算模式,傳統(tǒng)“測試-發(fā)布-后期維護(hù)”的軟件運(yùn)維思路,已無法適應(yīng)互聯(lián)網(wǎng)開放環(huán)境下用戶需求與系統(tǒng)資源的急速變化。相反,云服務(wù)持續(xù)在線的“監(jiān)控-診斷-調(diào)整”質(zhì)量提高過程,在實(shí)踐中逐步被大眾認(rèn)可。作為實(shí)現(xiàn)“調(diào)整”環(huán)節(jié)的主要手段,軟件服務(wù)的更新活動(dòng)日益頻繁,已經(jīng)由過去以“季度”、“年”為單位的更新,進(jìn)化為今天以“日”、“周”為單位的更新。面對如此現(xiàn)狀,對于軟件服務(wù)來說,如何完成從可更新,到易更新,再到熱更新的轉(zhuǎn)變,成為了學(xué)術(shù)界關(guān)注的重要研究課題,在線更新技術(shù)開始凸顯其重要的現(xiàn)實(shí)意義。在現(xiàn)實(shí)生活中,為了使服務(wù)具有更好的彈性以應(yīng)對未知的負(fù)載變化,大多數(shù)云服務(wù)采用多實(shí)例、集群化的方式部署。這種部署架構(gòu)為云服務(wù)在線更新打開了新的思路:由于多個(gè)實(shí)例之間往往相互獨(dú)立,且各實(shí)例均包含有較完整的業(yè)務(wù)邏輯,可正確的處理用戶請求,部分實(shí)例暫時(shí)性的失效不會(huì)影響整體服務(wù)的正常提供。因此,可以引入輪轉(zhuǎn)機(jī)制,在服務(wù)不中斷的情況下對集群實(shí)例分批進(jìn)行更新;谶@一假設(shè),本文圍繞云服務(wù)在線更新問題,進(jìn)行了以下三方面的研究。一、提出了基于輪轉(zhuǎn)機(jī)制的云服務(wù)在線更新框架,并基于GlassFish平臺(tái)完成了該框架原型系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)工作。通過逐次對集群中的實(shí)例以一定策略進(jìn)行隔離、更新、使能的操作,確保整個(gè)更新過程中至少保留一個(gè)服務(wù)實(shí)例正常對外提供服務(wù),達(dá)到了服務(wù)在線更新的要求。二、針對版本混合問題,以及為解決它而帶來的系統(tǒng)性能損耗問題,提出基于延遲切換的在線更新策略,將整個(gè)更新過程分為兩個(gè)階段。首先,通過逐臺(tái)更新實(shí)例的方式,延緩整個(gè)服務(wù)性能下降的趨勢,直至服務(wù)能力降至原配置的一半,更新進(jìn)入切換階段,保證集群中運(yùn)行新舊版本的實(shí)例之間的邏輯隔離。通過對電子商務(wù)服務(wù)Rubis進(jìn)行實(shí)驗(yàn),本文驗(yàn)證了該方法可達(dá)到更新期間99%+的服務(wù)可用性,并可將更新期間的服務(wù)平均響應(yīng)速度提升至原有的1.4倍。三、針對服務(wù)集群內(nèi)單個(gè)服務(wù)實(shí)例的更新時(shí)機(jī)確認(rèn)問題,本文提出基于負(fù)載均衡的任務(wù)狀態(tài)感知機(jī)制,通過為集群中的實(shí)例維護(hù)專屬的任務(wù)狀態(tài)感知列表,以其長度協(xié)助判定該實(shí)例能夠進(jìn)入更新的精確時(shí)間。實(shí)驗(yàn)結(jié)果顯示,相較于目前預(yù)設(shè)等待時(shí)長的更新時(shí)機(jī)確認(rèn)方法,采用該機(jī)制后,Rolling Upgrade、Split Mode Upgrade和本文所提出的Delayed Switch Upgrade等包含在基于輪轉(zhuǎn)機(jī)制框架下的方法都能表現(xiàn)出更高的可用性。
[Abstract]:With software services moving from enterprise computing mode to cloud computing mode, the traditional idea of "test-release and post-maintenance" software operation and maintenance can no longer adapt to the rapid changes of users' needs and system resources under the open environment of the Internet.Instead, the continuous online monitoring-diagnostics-tuning process of cloud service quality improvement has been gradually accepted by the public in practice.As the main means to realize "adjustment", the updating activities of software services are becoming more and more frequent, which has evolved from the past "quarterly" and "year" update to today's "day" and "week" update.In the face of this situation, how to complete the transformation from renewable, easy to update, and then to hot update has become an important research topic in academic circles, and online update technology has begun to highlight its important practical significance.In real life, in order to make services more flexible to cope with unknown load changes, most cloud services are deployed in a multi-instance, clustered manner.This deployment architecture opens up new ideas for online updates of cloud services: because multiple instances are often independent of each other and each instance contains more complete business logic, it can handle user requests correctly.Temporary invalidation of some instances will not affect the normal provision of the overall service.Therefore, rotation mechanism can be introduced to update cluster instances in batches without interruption of service.Based on this assumption, this paper focuses on the online updating of cloud services in the following three aspects.Firstly, an online update framework for cloud services based on rotation mechanism is proposed, and the design and implementation of the prototype system based on GlassFish platform are completed.By isolating and updating the instances in the cluster one by one, the operation can ensure that at least one service instance is kept in the whole updating process to provide service normally, which meets the requirement of online service update.Secondly, aiming at the problem of version mixing and the system performance loss caused by it, an online update strategy based on delay switching is proposed, which divides the whole update process into two stages.Firstly, by updating the instances one by one, the trend of service performance decline is delayed until the service capability is reduced to half of the original configuration, and the update enters the switching stage to ensure the logical isolation between the instances running the new and old versions in the cluster.Through the experiment of e-commerce service Rubis, this paper verifies that this method can achieve 99% service availability during the update period, and can increase the average response speed of the service during the update period to 1.4 times of the original service.Thirdly, aiming at the problem of updating opportunity confirmation for a single service instance in a service cluster, this paper proposes a task state awareness mechanism based on load balancing, which maintains a specific task state awareness list for the instance in the cluster.Its length helps determine the exact time that the instance can enter the update.The experimental results show that, compared with the current renewal timing confirmation method with preset waiting time, the proposed methods such as Rolling upgrade split Mode Upgrade and Delayed Switch Upgrade, which are included in the framework of rotation mechanism, can show higher availability.
【學(xué)位授予單位】:國防科學(xué)技術(shù)大學(xué)
【學(xué)位級(jí)別】:碩士
【學(xué)位授予年份】:2014
【分類號(hào)】:TP393.09
,
本文編號(hào):1726418
本文鏈接:http://sikaile.net/guanlilunwen/ydhl/1726418.html
最近更新
教材專著