国产精品无码一区二区三区太,亚洲一线产区二线产区区别,欧美A区,人妻jealousvue人妻

×

簡(jiǎn)析云服務(wù)融入分布式緩存系統(tǒng)架構(gòu)(二)

  • 作者:新網(wǎng)
  • 來(lái)源:新網(wǎng)
  • 瀏覽:100
  • 2018-05-08 10:59:31

EVCache 具有如下的特性: 1EVCache 的CS架構(gòu) EVCache客戶端是一個(gè)Java的客戶端,用于發(fā)現(xiàn)EVCache服務(wù)器并管理所有的增刪改查(CRUD)操作,由客戶端處理在集群中添加/刪除服務(wù)器?;趤嗰R遜云服務(wù)可用區(qū),客戶端在執(zhí)行創(chuàng)建、更新和刪除操作的時(shí)候復(fù)制數(shù)據(jù)。 另一方面,客戶端的讀操作直接從同一可用區(qū)的服務(wù)器讀取數(shù)據(jù)。

 EVCache 具有如下的特性:

 
1EVCache 的CS架構(gòu)
timg.jpg
 
EVCache客戶端是一個(gè)Java的客戶端,用于發(fā)現(xiàn)EVCache服務(wù)器并管理所有的增刪改查(CRUD)操作,由客戶端處理在集群中添加/刪除服務(wù)器。基于亞馬遜服務(wù)可用區(qū),客戶端在執(zhí)行創(chuàng)建、更新和刪除操作的時(shí)候復(fù)制數(shù)據(jù)。
 
另一方面,客戶端的讀操作直接從同一可用區(qū)的服務(wù)器讀取數(shù)據(jù)。
 
一個(gè)EVCache客戶端連接了多個(gè)EVCache的服務(wù)器集群。 在一個(gè)區(qū)域內(nèi),Netflix有多個(gè)全數(shù)據(jù)集的拷貝,由亞馬遜云服務(wù)的可用區(qū)隔離開來(lái)。虛線框描述了區(qū)域內(nèi)的副本,每個(gè)擁有數(shù)據(jù)的全量鏡像,作為AWS的自動(dòng)伸縮組來(lái)管理這些鏡像。某些緩存在一個(gè)區(qū)域內(nèi)有兩個(gè)鏡像,有的擁有更多。這種高層架構(gòu)長(zhǎng)期來(lái)看是有效的,不會(huì)改變,每個(gè)客戶端連接自己區(qū)域內(nèi)所有可用區(qū)的所有服務(wù)器。寫操作被發(fā)往所有實(shí)例,讀操作優(yōu)先選擇離讀請(qǐng)求近的服務(wù)器。
 
2EVCache 跨區(qū)域復(fù)制
 
Netflix的全球云服務(wù)遍布AWS各個(gè)服務(wù)區(qū)域,例如北弗吉尼亞、俄勒岡州和愛(ài)爾蘭,為這些地區(qū)的會(huì)員提高就近服務(wù),但網(wǎng)絡(luò)流量會(huì)因?yàn)楦鞣N原因改變,比如關(guān)鍵基礎(chǔ)設(shè)施出了問(wèn)題故障,或者地區(qū)之間進(jìn)行失敗恢復(fù)的練習(xí)等,因此Netflix采用無(wú)態(tài)應(yīng)用服務(wù)器服務(wù)于來(lái)自任何地區(qū)的會(huì)員。
 
這些數(shù)據(jù)如果從持久層存儲(chǔ)獲得將會(huì)非常昂貴(造成頻繁的數(shù)據(jù)庫(kù)訪問(wèn)),Netflix需要將這種數(shù)據(jù)寫入到本地緩存,而且必須復(fù)制到所有地區(qū)的緩存中,以便服務(wù)于各個(gè)地區(qū)的用戶請(qǐng)求。
 
微服務(wù)是依賴于緩存的,必須快速可靠地訪問(wèn)多種類型的數(shù)據(jù),比如會(huì)員的觀影歷史、排行榜和個(gè)性化推薦等,這些數(shù)據(jù)的更新與改變都必須復(fù)制到全世界各個(gè)地區(qū),以便這些地區(qū)的用戶能夠快速可靠地訪問(wèn)。
 
這張圖說(shuō)明復(fù)制操作是在SET操作以后實(shí)現(xiàn),應(yīng)用程序調(diào)用EVCache客戶端庫(kù)的set方法,之后復(fù)制路徑對(duì)于調(diào)用者是透明的:
 
EVCache客戶端庫(kù)發(fā)送SET到緩存系統(tǒng)的本地地區(qū)的一個(gè)實(shí)例服務(wù)器中
 
EVCache客戶端庫(kù)同時(shí)也將寫入元數(shù)據(jù)(包括key,但不包括要緩存的數(shù)據(jù)本身)到復(fù)制消息隊(duì)列(Kafka)
 
本地區(qū)的復(fù)制中繼服務(wù)將會(huì)從這個(gè)消息隊(duì)列中讀取消息
 
中繼服務(wù)會(huì)從本地緩存中抓取符合key的數(shù)據(jù)
 
中繼服務(wù)會(huì)發(fā)送一個(gè)SET請(qǐng)求到另一個(gè)地域的復(fù)制中繼服務(wù)
 
在另一個(gè)區(qū)域中,復(fù)制中繼服務(wù)會(huì)接受請(qǐng)求,然后執(zhí)行SET操作到它的本地緩存,完成復(fù)制
 
在接受地區(qū)的本地應(yīng)用當(dāng)通過(guò)GET操作以后會(huì)在本地緩存上看到這個(gè)已經(jīng)更新的數(shù)據(jù)值
 
這是一個(gè)簡(jiǎn)單描述,需要注意的是,它只會(huì)對(duì)SET操作有效,對(duì)于其它DELETE TOUCH或批mutation等操作不會(huì)復(fù)制,DELETE和TOUCH是非常類似的,只有一點(diǎn)不同:它們不從本地緩存中讀取已經(jīng)存在的值。
 
跨區(qū)域復(fù)制主要是通過(guò)消息隊(duì)列進(jìn)行,一個(gè)地區(qū)的EVCache客戶端不會(huì)注意到其它地區(qū)的復(fù)制情況,讀寫都是只使用本區(qū)域緩存,不會(huì)和其它地區(qū)緩存耦合,通過(guò)消息系統(tǒng)來(lái)解耦合。
 

免責(zé)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn)自行上傳,本網(wǎng)站不擁有所有權(quán),也不承認(rèn)相關(guān)法律責(zé)任。如果您發(fā)現(xiàn)本社區(qū)中有涉嫌抄襲的內(nèi)容,請(qǐng)發(fā)送郵件至:operations@xinnet.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),本站將立刻刪除涉嫌侵權(quán)內(nèi)容。

免費(fèi)咨詢獲取折扣

Loading