Chart FX-圖表返回機(jī)制與Web農(nóng)場(chǎng)返回機(jī)制
為了提高響應(yīng)速度并加強(qiáng)對(duì)不同服務(wù)器架構(gòu)的支持,Chart FX 提供了兩種處理圖表并將其返回給瀏覽器的方法。這兩種機(jī)制分別由兩種方法實(shí)現(xiàn):RenderControl 和 RenderToStream。
當(dāng)用戶點(diǎn)擊包含 RenderControl 方法的頁面時(shí),圖表文件會(huì)被保存到磁盤中,并返回一個(gè) HTML 標(biāo)簽(IMG、OBJECT),以便瀏覽器知道圖表文件在網(wǎng)絡(luò)服務(wù)器上的位置。最后,還需要再次返回服務(wù)器,以便從服務(wù)器中提取圖表,并以靜態(tài)圖像或活動(dòng)組件的形式顯示在頁面上。使用 RenderControl 的最大好處之一就是可以輕松地將圖表集成到現(xiàn)有的網(wǎng)頁中,并支持瀏覽器自動(dòng)檢測(cè)。不過,將文件保存到磁盤可能會(huì)影響服務(wù)器性能。
另一方面,RenderToStream 方法通過直接將圖表以比特流的方式傳輸?shù)綖g覽器,避免了將圖表文件保存到磁盤;這一過程減少了客戶端和服務(wù)器之間的往返次數(shù)。但是,要與網(wǎng)頁集成卻很麻煩,因?yàn)槟仨氈赶蛞粋€(gè)以比特流方式返回瀏覽器的文件。此外,采用這種方法時(shí)只能使用部分瀏覽器檢測(cè)功能,因而您的應(yīng)用程序無法根據(jù)用戶使用的瀏覽器性能做出 “明智”的決定。
就性能而言,雖然 RenderToStream 方法需要大量處理器,但它允許開發(fā)人員提高性能和可擴(kuò)展性,并允許在復(fù)雜的服務(wù)器架構(gòu)(如Web農(nóng)場(chǎng))上使用 Chart FX。
Web農(nóng)場(chǎng)(服務(wù)器群集)
一旦達(dá)到一定的閾值,要實(shí)現(xiàn)經(jīng)濟(jì)高效的可擴(kuò)展性,就需要在多個(gè)服務(wù)器上使用多個(gè)處理器。換句話說,您需要一個(gè)Web農(nóng)場(chǎng)。
我們提到過,使用 RenderControl 方法時(shí),圖表文件會(huì)保存到磁盤中。Web農(nóng)場(chǎng)架構(gòu)存在的一個(gè)問題是,當(dāng)瀏覽器返回服務(wù)器檢索該文件時(shí),HTTP 請(qǐng)求可能會(huì)被指向農(nóng)場(chǎng)中的另一個(gè)網(wǎng)絡(luò)服務(wù)器,而該服務(wù)器上的圖表并非最初保存的,從而導(dǎo)致頁面上的圖表占位符為空。
通過更改服務(wù)器的親和性設(shè)置,您可以下達(dá)指令,將HTTP請(qǐng)求在第一個(gè)請(qǐng)求被通過后定向到同一臺(tái)物理服務(wù)器上,這可能會(huì)解決這個(gè)問題,但親和性要求系統(tǒng)必須保持用戶到服務(wù)器的映射,且每次請(qǐng)求時(shí)都會(huì)執(zhí)行l(wèi)ookup,這會(huì)減慢系統(tǒng)的運(yùn)行速度。換句話說,改變服務(wù)器親和性會(huì)影響可擴(kuò)展性,失去基于請(qǐng)求的負(fù)載平衡的好處。而Chart FX 提供的配置機(jī)制可以解決這個(gè)問題,讓服務(wù)器確切知道圖表文件的位置。
然而,生成一個(gè)保存在磁盤上的圖表文件會(huì)給 Web 農(nóng)場(chǎng)帶來許多服務(wù)器性能和可擴(kuò)展性問題。因此,在這種環(huán)境下,更合適的方式是使用 RenderToStream 方法將圖表直接以比特流方式傳輸?shù)綖g覽器,這可以避免上述許多問題,也可實(shí)現(xiàn)更流暢的與Web農(nóng)場(chǎng)的集成。
京ICP備09015132號(hào)-996 | 違法和不良信息舉報(bào)電話:4006561155
© Copyright 2000-2026 北京哲想軟件有限公司版權(quán)所有 | 地址:北京市海淀區(qū)西三環(huán)北路50號(hào)豪柏大廈C2座11層1105室
北京哲想軟件集團(tuán)旗下網(wǎng)站:哲想軟件 | 哲想動(dòng)畫