Actor 模型是什么?Gear 为什么使用它?
術(shù)語(yǔ)“消息傳遞通信”有效地描述了程序之間的通信方式。消息傳遞通信比“共享內(nèi)存通信”更具優(yōu)勢(shì),因?yàn)橄鬟f通信更容易理解,穩(wěn)定性與性能更佳。
在這種情況下,程序或者說(shuō)智能合約的通信方式是非常重要的,因?yàn)樗谴龠M(jìn)程序整體效率的一個(gè)因素。
對(duì)于進(jìn)程間的通信方式,Gear 使用了 Actor 模型。
簡(jiǎn)而言之,這意味著程序(智能合約)從不共享任何”狀態(tài)“,只在彼此之間交換消息。這些消息的結(jié)果可能導(dǎo)致發(fā)送其他消息、創(chuàng)建新的 actor 或?yàn)?actor 收到的下一個(gè)消息設(shè)置指定的行為。
在這篇文章中,我們將探討什么是 Actor 模型以及它如何運(yùn)作,最重要的是 Gear 為什么使用它。
什么是 Actor 模型?
Actor 模型是一個(gè)處理程序通信的概念模型,它定義了關(guān)于系統(tǒng)組件在并發(fā)計(jì)算環(huán)境中如何表現(xiàn)和交互的通用規(guī)則。
Actor 模型的獨(dú)特之處在于,"actors "之間是完全隔離的,它們從不共享內(nèi)存。除此之外,actors 保持私有狀態(tài),程序只能通過(guò)處理來(lái)自另一個(gè) actor 的消息來(lái)更改狀態(tài)。
Actor 模型如何運(yùn)作?
Actors 通過(guò)發(fā)送異步消息來(lái)與其他 actors 進(jìn)行通信。在 Gear 網(wǎng)絡(luò)中,消息被保存在由 Gear 節(jié)點(diǎn)維護(hù)的消息隊(duì)列中。退出隊(duì)列或已處理的消息以及成功的交易將出現(xiàn)在區(qū)塊中。未處理的消息將在下一個(gè)區(qū)塊中被處理。新消息出現(xiàn)在消息隊(duì)列的末端。
從本質(zhì)上講,actors 接收輸入、發(fā)送輸出并執(zhí)行函數(shù)。這就是程序,更具體地說(shuō),這就是智能合約自動(dòng)工作的方式。同樣值得注意的是,一個(gè) actor 可以創(chuàng)建另一個(gè) actor,在程序中擴(kuò)展鏈并增加其復(fù)雜性。
Actor 模型與其他通信方式有何不同?
Actor 模型和其他程序通信方式的主要區(qū)別是 Actor 模型在 actors 之間傳遞消息,而不是共享“網(wǎng)絡(luò)狀態(tài)”。這有助于提高程序的安全性和穩(wěn)定性。因此,每個(gè) actor 都有自己獨(dú)立的 mailbox (信箱機(jī)制),不能更改鏈中另一個(gè) actor 的狀態(tài)。
為什么 Gear 使用 Actor 模型?
典型的智能合約代碼缺乏對(duì)異步通信的正常支持,這給開(kāi)發(fā)者帶來(lái)了很多問(wèn)題。但是,通過(guò)使用 Actor 模型進(jìn)行消息傳遞通信,Gear 可以在智能合約邏輯內(nèi)部實(shí)現(xiàn)并發(fā)通信,利用各種語(yǔ)言結(jié)構(gòu)或異步編程。
這為所有程序提供了原生的任意異步通信,極大簡(jiǎn)化了開(kāi)發(fā)和測(cè)試,同時(shí)也減少了開(kāi)發(fā)過(guò)程中出錯(cuò)的可能性。
除此之外,Actor 模型易于擴(kuò)展,易于實(shí)現(xiàn),具有容錯(cuò)性,并且沒(méi)有共享狀態(tài),這有助于實(shí)現(xiàn)更強(qiáng)大的編程。
想了解 Gear 的最新消息和公告,請(qǐng)?jiān)?Twitter 上關(guān)注我們。你也可以在 Twitter 上留言接下來(lái)想了解的話題!
此致,
Gear 團(tuán)隊(duì)!
關(guān)于 GearFans
Gear 是波卡生態(tài)的計(jì)算組件,GearFans 是 Gear 愛(ài)好者社區(qū)。
- 官網(wǎng):Gear Technologies | Smart-Contract Engine for Polkadot
- Twitter:https://twitter.com/gear_techs
- GitHub:Gear Technologies · GitHub
- Discord:https://discord.com/invite/7BQznC9uD9
- Telegram 中文群:https://t.me/Gear_CN
- QQ 群:677703337
總結(jié)
以上是生活随笔為你收集整理的Actor 模型是什么?Gear 为什么使用它?的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 高级程序员与初级程序员差别在哪里?
- 下一篇: 自行车、电动自行车、儿童自行车做16 C