溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

Newbe.Claptrap框架如何實現(xiàn)在多種框架之上運行

發(fā)布時間:2021-11-24 15:19:43 來源:億速云 閱讀:111 作者:柒染 欄目:云計算

這篇文章將為大家詳細講解有關(guān)Newbe.Claptrap框架如何實現(xiàn)在多種框架之上運行,文章內(nèi)容質(zhì)量較高,因此小編分享給大家做個參考,希望大家閱讀完這篇文章后對相關(guān)知識有一定的了解。

Newbe.Claptrap 是一個用于輕松應(yīng)對并發(fā)問題的分布式開發(fā)框架。

Claptrap Box 使 Claptrap 能夠運行在更多框架之上

Claptrap 是基于 Actor 模式實現(xiàn)的一種對象。其僅具備處理事件和狀態(tài)控制相關(guān)的能力。因此,在實際場景中,往往需要依托于具體的運行環(huán)境來承載它,或者需要根據(jù)業(yè)務(wù)來設(shè)計對外的業(yè)務(wù)接口。

最典型的用例,就是與 Orleans 的 Grain 進行結(jié)合。Grain 是 Orleans 的虛擬 Actor 實現(xiàn),而 Claptrap 也是 Actor。在 Claptrap 和 Grain 結(jié)合時,我們選擇將 Claptrap 封裝在 Grain 內(nèi)部。這樣,我們就使得 Claptrap 這種結(jié)合了事件溯源的 Actor 運行在 Grain 中,這就可以充分利用 Orleans 支持分布式的特點。當(dāng)我們將 Claptrap 放入到 Grain 中運行時,可以將 Grain 看做是一個盒子,這種對象的組合方式非常類似于設(shè)計模式中的門面模式,Grain 為 Claptrap 提供了一個門面與外部進行通信,屏蔽內(nèi)部細節(jié)的同時也使得外部更理解其交互方式。此處我們將這種 “將 Claptrap 裝入到特定門面對象中運行的方式” 稱為 Claptrap Box 模式,而其中的門面對象被稱為 Claptrap Box 。有了這種方式的存在,才使得 Claptrap 能夠應(yīng)用于更加復(fù)雜的平臺和業(yè)務(wù)。在 Orleans 中,這種 Claptrap Box 則被稱為 ClaptrapBoxGrain。

由于 Claptrap Box 的存在,Claptrap 即使脫離了 Orleans 也可以保持事件溯源和 Actor 模式的基本條件。例如在簡單的控制臺程序中,開發(fā)者仍然可以使用 NormalClaptrapBox 來作為門面對象。然而這就失去了 Orleans 分布式的優(yōu)勢。

依托 Claptrap Box 概念的存在,使得 Claptrap 能夠在更多的基礎(chǔ)平臺和框架之上運行。雖然目前僅有 Orleans / Akka.net/ 無承載 等可以選用的門面對象。


以下是關(guān)于故事化描述,用于輔助理解。不必太過在意。

Claptrap 是一種可定制化程度很高的機器人。為了能夠讓 Claptrap 在更繽紛復(fù)雜的環(huán)境下運行,需要針對不同的實際環(huán)境設(shè)計一些可以裝載 Claptrap 的載具,以便它們能夠完美地運行。例如:在海底工作的 Claptrap 需要配備足夠承受水壓的載具;在沼澤工作的 Claptrap 需要配備防陷防潮的載具;在火山口附近工作的 Claptrap 則需要配備耐高溫材料制成的載具。這一系列的載具,我們統(tǒng)稱為 Claptrap Box 。這是因為這些載具都有一個共同的特點,它們都是全包裹式的盒裝,當(dāng)然形狀各異,但是我們統(tǒng)稱為 Box 。有了這些載具,Claptrap 便可以良好的運行在各種不同的環(huán)境中。

關(guān)于Newbe.Claptrap框架如何實現(xiàn)在多種框架之上運行就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI