亚洲中文字幕av每日更新_亚洲av成人综合网伊人_国产精品综合久久_国产成人毛片精品

優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利
優(yōu)惠活動(dòng) - 12周年慶本月新客福利

利用分布式緩存存放狀態(tài)

在系統(tǒng)中存儲(chǔ)會(huì)話數(shù)據(jù)時(shí),使用分布式緩存。適用于任何需要存儲(chǔ)會(huì)話數(shù)據(jù)但又不能將其存放在用戶瀏覽器中的情況。小心一些常見(jiàn)的錯(cuò)誤,如會(huì)話管理系統(tǒng)要求關(guān)聯(lián)用戶和Web服務(wù)器。

認(rèn)真考慮如何存儲(chǔ)會(huì)話數(shù)據(jù)可以確保系統(tǒng)能夠持續(xù)擴(kuò)展。許多Web服務(wù)器或語(yǔ)言都提供了簡(jiǎn)單的基于服務(wù)器的會(huì)話管理方法,但這些方法通常有一些問(wèn)題,例如把用戶關(guān)聯(lián)到了特定的服務(wù)器。實(shí)現(xiàn)分布式緩存,就可以在系統(tǒng)中存放會(huì)話數(shù)據(jù),使系統(tǒng)能夠持續(xù)擴(kuò)展。



在你得出需要在應(yīng)用或系統(tǒng)中維護(hù)狀態(tài),以及確定不能把狀態(tài)存放在最終用戶的瀏覽器上的結(jié)論之前,我們希望你花時(shí)間認(rèn)真考慮一下推薦的流程。你應(yīng)該為此決定感到難過(guò),為自己不能想辦法開(kāi)發(fā)出無(wú)狀態(tài)的系統(tǒng)或者不能讓最終用戶維護(hù)狀態(tài)而感到羞愧。

當(dāng)然,這是在開(kāi)玩笑,因?yàn)槲覀円呀?jīng)承認(rèn),的確有些系統(tǒng)必須維護(hù)狀態(tài),即便是很少量的狀態(tài),而且這些狀態(tài)最好是在服務(wù)、應(yīng)用或產(chǎn)的基礎(chǔ)設(shè)施中維護(hù)。考慮到這一點(diǎn),我們來(lái)討論幾個(gè)在應(yīng)用中維護(hù)狀態(tài)的原則。

第一,也是最重要的,遠(yuǎn)離那些要求關(guān)聯(lián)到一個(gè)應(yīng)用或Web服務(wù)器的有狀態(tài)系統(tǒng)。這種實(shí)現(xiàn)的可用性比那些可以遠(yuǎn)程訪問(wèn)任何服務(wù)器上的狀態(tài)的實(shí)現(xiàn)低。如果關(guān)聯(lián)的服務(wù)器死機(jī)了,那么這臺(tái)服務(wù)器上的所有會(huì)話信息(包括狀態(tài))都會(huì)失效,相關(guān)的客戶(很可能是幾千個(gè))就需要重復(fù)他們的操作。即使把數(shù)據(jù)存放在了本地或網(wǎng)絡(luò)存儲(chǔ)上,用戶也需要在另一臺(tái)服務(wù)器上從頭來(lái)過(guò),而上且這期間還會(huì)有服務(wù)中斷。

第二,不要使用狀態(tài)或會(huì)話復(fù)制服務(wù),如某些應(yīng)用服務(wù)器或第三方集群服務(wù)器上的服務(wù)。如本章前面所述,這樣的系統(tǒng)不能很好地?cái)U(kuò)展,因?yàn)閷?duì)會(huì)話的修改需要傳播到很多結(jié)點(diǎn)上。因此,選擇這種類類型的實(shí)現(xiàn),我們就要關(guān)注為了擴(kuò)展系統(tǒng)需要使用多少內(nèi)存。

第三,在選擇會(huì)話或狀態(tài)緩存或持久引時(shí),要選擇不執(zhí)行真正處理的服務(wù)器上的緩存。雖然這有點(diǎn)挑剔,但的確有助于提高可用性,因?yàn)楫?dāng)你丟失了一臺(tái)服務(wù)器時(shí),只會(huì)丟失與之相關(guān)的緩存,或者只會(huì)丟失其上運(yùn)行的服務(wù),而不會(huì)同時(shí)丟失兩者。創(chuàng)建一個(gè)緩存(或持續(xù))層,也使得我們可以只基于緩存訪問(wèn)就能進(jìn)行擴(kuò)展,而不必再依靠應(yīng)用服務(wù)和內(nèi)部及遠(yuǎn)程的緩存服務(wù)了。

采用分布式會(huì)話/狀態(tài)緩存不要做哪些事:

下面列出了實(shí)現(xiàn)緩存管理會(huì)話或狀態(tài)時(shí)要避免的三種方法口不要實(shí)現(xiàn)要求關(guān)聯(lián)到服務(wù)器的系統(tǒng)。

不要使用狀態(tài)或會(huì)話復(fù)制,在不同的系統(tǒng)中創(chuàng)建重復(fù)的數(shù)據(jù)。
 
不要把緩存放在執(zhí)行操作的系統(tǒng)上(這并不是說(shuō)不應(yīng)該有本地應(yīng)用緩存,只是說(shuō)最好把會(huì)話信息放在自己的服務(wù)器層上)。

如果你遵守不要做哪些事情的原則,那么選擇需要做哪些事情就容易多了。對(duì)于這些題,找們看不可知論的態(tài)度,因此,我們更關(guān)心的是設(shè)計(jì),而不是實(shí)現(xiàn)細(xì)節(jié),如應(yīng)該采用哪種開(kāi)源的緩存或數(shù)據(jù)庫(kù)解決方案等。我們有一個(gè)強(qiáng)烈的感覺(jué),你幾乎不需要自己開(kāi)發(fā)緩存方案。有了那么多分布式對(duì)象緩存選擇,從memcached到開(kāi)源的或第三方的數(shù)據(jù)庫(kù),如果誰(shuí)還需要為存放會(huì)話信息而實(shí)現(xiàn)自己的緩存方案,會(huì)顯得很荒謬可笑。

這就帶來(lái)了問(wèn)題,應(yīng)該用什么實(shí)現(xiàn)緩存呢?對(duì)我們來(lái)說(shuō),這個(gè)問(wèn)題實(shí)際上是在可靠性和持久性與成本之間進(jìn)行衡量。如果你期望把會(huì)話或狀態(tài)信息保存一段時(shí)間,如購(gòu)物車(chē),那么可能會(huì)決定采用具有長(zhǎng)期可持久性的解決方案存放部分或所有的會(huì)話信息。在我們見(jiàn)過(guò)的許多實(shí)例中,都是采用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)的。但是,采用數(shù)據(jù)庫(kù)顯然會(huì)使每一事務(wù)處理的成本大于簡(jiǎn)單的解決方案,如非持久性的分布式對(duì)象緩存。

如果你不需要持久性,就可以從眾多的對(duì)象緩存中選擇一種。關(guān)于對(duì)象緩存及其用法的討論。在有些情況下,你可能兩者都會(huì)選擇,即數(shù)據(jù)庫(kù)的持久性和數(shù)據(jù)庫(kù)前端的緩存的低成本性。這樣的實(shí)現(xiàn),既具有數(shù)據(jù)庫(kù)的持久性,也可以通過(guò)數(shù)據(jù)庫(kù)前端的緩存實(shí)現(xiàn)高成本效益的事務(wù)處理擴(kuò)展。

關(guān)于分布式會(huì)話狀態(tài)緩存的考慮因素

下面是三種常見(jiàn)的分布式緩存的實(shí)現(xiàn)方法及其優(yōu)缺點(diǎn)。

只用數(shù)據(jù)庫(kù)來(lái)實(shí)現(xiàn)成本最高,但所有數(shù)據(jù)都是持久性的,在分布式環(huán)境中可以將更新和讀操作之間的沖突處理得非常好。
 
非持久性的分布式對(duì)象緩存比較快,成本相對(duì)較低,但出出故障后,不能恢復(fù)數(shù)據(jù),對(duì)于用戶訪問(wèn)間隔時(shí)間較長(zhǎng)的情況不適用。

有的為網(wǎng)站建設(shè),由數(shù)掂庫(kù)提供持久性,由緩存提供高性價(jià)比的擴(kuò)展性,很適合需要持久性又想成本低的情況。

本文地址:http://www.islandpacificappraisals.com//article/3517.html
相關(guān)文章:
最新文章: