信息管理云平臺無狀態(tài)服務應用研究論文
信息管理云平臺結構復雜度高,系統(tǒng)信息吞吐量大,為提高系統(tǒng)響應性能以及系統(tǒng)可擴展性,云平臺采用無狀態(tài)服務技術,提高平臺系統(tǒng)的可伸縮性,系統(tǒng)可以通過負載均衡等手段,實現(xiàn)平臺系統(tǒng)的水平擴展,提高系統(tǒng)整體性能。
云計算平臺架構復雜,平臺邏輯業(yè)務數(shù)量多,系統(tǒng)前臺與后臺交互信息量大,平臺的服務設計成無狀態(tài)服務更適應云計算平臺應用場景,服務不保持狀態(tài)信息,也即是客戶端與服務端交互活動的信息,當客戶端向服務器端發(fā)送服務請求時,在服務請求中攜帶服務器端服務響應請求所需要的一切信息[1],或者,服務端可以從外部獲取到需要的信息,比如從數(shù)據(jù)庫或內存獲取。
對于無狀態(tài)服務端,如果服務端有多個服務器集群[2]而成,從客戶端角度來說,由于服務是無狀態(tài)的,客戶端的請求可以發(fā)到集群中的任意一臺服務器,獲得相同的響應結果,這樣,系統(tǒng)可以通過負載均衡[3]等手段,實現(xiàn)平臺系統(tǒng)的水平擴展,提高平臺系統(tǒng)的可伸縮性。平臺的水平可擴展性能對云計算平臺非常重要。
1 無狀態(tài)服務概念
兩個相互關聯(lián)的Web用戶進行交互操作,需要保留操作相關的公共信息,這些公共信息即為Web應用服務的狀態(tài),比如用戶狀態(tài)信息或工作流狀態(tài)信息。狀態(tài)信息被指定不同的作用域 [4],狀態(tài)存儲的由客戶端或 服務器端負責。在Web應用中,服務狀態(tài)的存儲為系統(tǒng)開發(fā)提供方便,但對于分布式系統(tǒng)而言,帶來其他方面的限制,比如容錯性和可靠性限制,倘若報文丟失、重復、傳送失序或者保有用戶信息的服務器崩潰宕機,狀態(tài)信息就會出錯。
如果服務器在響應服務器請求時使用了錯誤的狀態(tài)信息,則有可能做出錯誤的響應,而且用戶的最近所有交互操作不能透明地轉移到其他冗余服務器上。
此外還有服務的負載均衡限制。因為如果服務在有狀態(tài)模式,某個用戶的請求必須發(fā)送給已經(jīng)保存了它的狀態(tài)信息的服務器才能成功獲得服務,如果提交到其他服務器,由于沒有其相關狀態(tài)系統(tǒng),該請求無法解析,得不到服務。
因此在有狀態(tài)模式下,服務器端無法自由調度用戶請求。由于HTTP是一個無狀態(tài)的協(xié)議,系統(tǒng)必須采用額外方法和技術來保存、維護客戶端狀態(tài)。因而,為了克服這些不足,無狀態(tài)服務成為云計算這種分布式平臺的更好的技術選擇。
無狀態(tài)指的是任何Web服務器請求完全與其他請求相隔離,客戶端任何狀態(tài)信息不在服務端保存,對單次請求的處理,不依賴其他請求,也就是說,處理一次請求所需的全部信息,要么都包含在這個請求里,要么可以從外部獲取到。
從用戶角度來看,Web服務的有狀態(tài)表現(xiàn)為客戶端與服務器端強耦合,比如瀏覽器中的后退操作,如果某個業(yè)務流程為step1->step2->step3,當系統(tǒng)執(zhí)行至step2用戶進行后退操作,由于用戶的狀態(tài)可能被不可逆地修改,系統(tǒng)就不是按照用戶所期望的方式運行。
相反,如果Web服務是無狀態(tài)的,比如常用的搜索引擎服務,任何用戶可以在瀏覽器地址欄中輸入“https://www.baidu.com/s?wd=iphone&pn=60”來獲得從第六十一條開始的.關于iphone的搜索記錄,并且如果百度某個地區(qū)服務器癱瘓了,用戶相關請求透明地被轉移到至其他地區(qū)的服務器,在其它服務器上得到相同的服務響應。
2 云計算平臺無狀態(tài)服務實現(xiàn)
Web系統(tǒng)使用的HTTP協(xié)議是無狀態(tài),在應用層上,服務器沒有保存客戶端的狀態(tài)信息,客戶端每次請求服務時,必須每次都帶上自己的狀態(tài)(比如通過cookie、session等)。
服務端在響應客戶端的請求的時候,會向客戶端推送一個cookie,這個cookie記錄狀態(tài)信息?蛻舳嗽诤罄m(xù)的請求中,攜帶這個cookie,服務端根據(jù)這個cookie判斷這個請求的上下文關系,因此cookie是無狀態(tài)化向狀態(tài)化過渡的一個手段。
在信息管理云計算平臺中,在客戶端采用cookie機制來保存狀態(tài)信息,在服務器端采用session會話來保存狀態(tài)。session 與cookie的區(qū)別如下。
(1)session數(shù)據(jù)放在服務器中,而cookie數(shù)據(jù)存放在客戶的瀏覽器中;
(2)服務器在一段時間內保存session數(shù)據(jù)。在訪問大量增多時,會占用較多服務器的資源,降低服務性能,如果考慮到服務器性能方面,采用其它技術手段降低對服務器響應性能的影響;
(3)由于其它程序可以分析存放在本地的cookie并進行cookie欺騙,因此cookie不是很安全;
(4)單個cookie在客戶端的容量有限制,一個站點在客戶端存放在cookie中信息不能太多,此外,如果cookie信息過大,增加客戶端與服務器的通信量,降低系統(tǒng)通信性能,耗費通信帶寬;
(5)在云計算平臺系統(tǒng)中,session存儲登陸信息等重要信息,cookie中存儲其他信息。
3 基于無狀態(tài)服務的云計算平臺的優(yōu)點
3.1 將后臺與表示層徹底分離
云計算平臺采用MVC架構,實現(xiàn)系統(tǒng)解耦、松耦合的設計,服務器端將系統(tǒng)業(yè)務核心功能進行封裝,并以服務的方式提供給客戶端。業(yè)務服務對客戶端透明,其具體實現(xiàn)客戶端不再關注,客戶端只用專注設計用戶體驗良好的UI和人機交互功能。
3.2 便于平臺開發(fā)人員協(xié)同開發(fā)
對于松耦合架構系統(tǒng),開發(fā)人員只需關注自己負責業(yè)務模塊具體實現(xiàn),與系統(tǒng)其它模塊交互,通過統(tǒng)一接口方案進行對接和調用,開發(fā)人員間可以方便地進行協(xié)同開發(fā)工作。
3.3 通過負載均衡,平衡服務器壓力
客戶端用戶請求,通過負載均衡,按一定策略,將用戶請求分配到最合適的服務器進行業(yè)務處理并返回處理結果,對于系統(tǒng)來說,實現(xiàn)資源的最大話利用,提高系統(tǒng)整體性能。
4 結語
信息管理云平臺結構復雜度高,系統(tǒng)信息吞吐量大,為提高系統(tǒng)響應性能以及系統(tǒng)可擴展性,服務采用無狀態(tài)設計,平臺系統(tǒng)可以很方便地實現(xiàn)水平伸縮,在云平臺這種并發(fā)環(huán)境下,避免服務器端多線程帶來的副作用。
【信息管理云平臺無狀態(tài)服務應用研究論文】相關文章:
科技特派信息管理及服務平臺應用論文11-04
中油四川石化項目業(yè)主PIP信息管理平臺的應用研究論文10-25
基于云計算的不動產(chǎn)登記信息管理平臺建設研究的論文07-04
關于通信服務平臺的論文06-26
云計算網(wǎng)絡教學平臺設計與實現(xiàn)論文08-01
社會保障信息管理平臺建設思考論文07-04