ONOS點(diǎn)滴學(xué)習(xí)之Distributed Primitives(分布式原語)
成都創(chuàng)新互聯(lián)專注于上海企業(yè)網(wǎng)站建設(shè),成都響應(yīng)式網(wǎng)站建設(shè),商城建設(shè)。上海網(wǎng)站建設(shè)公司,為上海等地區(qū)提供建站服務(wù)。全流程按需設(shè)計(jì),專業(yè)設(shè)計(jì),全程項(xiàng)目跟蹤,成都創(chuàng)新互聯(lián)專業(yè)和態(tài)度為您提供的服務(wù)
EventuallyConsistentMap
Eventually consistent map提供了弱一致性的保證,以換取讀/寫的性能。所有的讀都是在本地下執(zhí)行的,所有的寫都是先更新本地,然后再將更新傳播到后臺的其他副本。用戶可以使用ClockService來配置該Map,ClockService被用于時(shí)間戳標(biāo)識各種更新事件。時(shí)間戳用于確保每個(gè)副本以正確的順序更新到本地狀態(tài)。Eventually consistent map通過一個(gè)名為anti-entropy“反熵”的輕量級背景程序,修復(fù)了由于丟失的更新導(dǎo)致不同步的副本。
An eventually consistent map完全復(fù)制了它的所有狀態(tài)。這意味著集群中的每個(gè)節(jié)點(diǎn)都將擁有該Map內(nèi)容的完整副本。狀態(tài)存儲在每個(gè)節(jié)點(diǎn)的內(nèi)存中,這意味著一個(gè)完整的集群重啟將導(dǎo)致數(shù)據(jù)丟失。我們將引入一個(gè)選項(xiàng),將數(shù)據(jù)保存到磁盤,這樣它就可以在完整的集群重啟時(shí)存活下來。
ConsistentMap
需要強(qiáng)一致性保障的應(yīng)用可以使用ConsistentMap 原語。ConsistentMap支持java.util.concurrent.ConcurrentMap風(fēng)格的條件更新操作,它確保所有給定鍵(在Map中)的所有操作都被序列化為強(qiáng)一致性。讓我們實(shí)現(xiàn)這一目標(biāo)的基本協(xié)議是Raft。此外,整個(gè)key空間(用于映射)被分區(qū),以確保具有良好的擴(kuò)展特性。例如,一致性映射中的每個(gè)鍵都映射到單個(gè)分區(qū)或shard。每個(gè)shard的一致性通過一個(gè)單獨(dú)的Raft共識簇來維持。這樣可以確保映射到不同分區(qū)key的操作可以獨(dú)立進(jìn)行。在N節(jié)點(diǎn)集群中,默認(rèn)情況下我們創(chuàng)建了N個(gè)shards。每個(gè)shard的責(zé)任在于3個(gè)不同的節(jié)點(diǎn),因此即使其中一個(gè)節(jié)點(diǎn)失敗,也確保了shard可用性。
LeadershipService
ONOS有一項(xiàng)服務(wù),可以為任意主題的領(lǐng)導(dǎo)人選舉提供便利。該服務(wù)確保在任何給定的時(shí)間點(diǎn),單個(gè)控制器節(jié)點(diǎn)充當(dāng)給定主題的領(lǐng)導(dǎo)者。在任何給定的時(shí)間點(diǎn),LeadershipService 都可以為多個(gè)主題的領(lǐng)導(dǎo)人選舉提供便利,同樣,每個(gè)控制器節(jié)點(diǎn)也可以同時(shí)參與多個(gè)主題的領(lǐng)導(dǎo)競選。
DistributedSet
與它的名字相似的,這是一個(gè)數(shù)據(jù)結(jié)構(gòu),在分布式環(huán)境下提供了set的概念。
DistributedQueue
提供一個(gè)分布式FIFO隊(duì)列抽象,通過長輪詢支持非阻塞dequeue操作。
AtomicCounter
這類似于AtomicLong,但在分布式環(huán)境中。常用語全局唯一計(jì)數(shù)。
AtomicValue
AtomicReference的一個(gè)分布式版本。
LogicalClockService
該服務(wù)對于為各種事件分配全局有序時(shí)間戳非常有用。這對于在分布式環(huán)境下排序事件非常有用。
ClusterCommunicationService
該服務(wù)是其基本功能,允許控制器實(shí)例通過制造rpc來與他人進(jìn)行通信??刂破骺梢宰栽谑盏教囟愋偷南r(shí)要調(diào)用的處理程序。該服務(wù)支持多種集群通信原語,如:單播、多播和廣播。
ClusterService
這個(gè)服務(wù)用來發(fā)現(xiàn)集群中的其他節(jié)點(diǎn)及其當(dāng)前狀態(tài)(存活或死亡)
wiki地址:https://wiki.onosproject.org/display/ONOS/Distributed+Primitives
當(dāng)前題目:ONOS點(diǎn)滴學(xué)習(xí)之DistributedPrimitives(分布式原語)
標(biāo)題網(wǎng)址:http://aaarwkj.com/article24/igcgce.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App開發(fā)、網(wǎng)站排名、全網(wǎng)營銷推廣、App設(shè)計(jì)、用戶體驗(yàn)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)