在Azure服務結構中,我可以使用有狀態的服務和參與者。狀態類型就像普通的.net對象類型。所以我可以創建該狀態的多個實例。可靠的有狀態服務/參與者狀態參考
當我從一個有狀態的服務/參與者推送一個實例化的狀態對象到另一個有狀態的服務/參與者時,狀態對象實例是否會被複制或引用?因爲它沒有被引用,但被複制,所以我必須存儲兩次狀態數據。對?
在Azure服務結構中,我可以使用有狀態的服務和參與者。狀態類型就像普通的.net對象類型。所以我可以創建該狀態的多個實例。可靠的有狀態服務/參與者狀態參考
當我從一個有狀態的服務/參與者推送一個實例化的狀態對象到另一個有狀態的服務/參與者時,狀態對象實例是否會被複制或引用?因爲它沒有被引用,但被複制,所以我必須存儲兩次狀態數據。對?
服務跨越集羣中的節點。您從一項服務發送給另一項服務的任何內容都必須能夠跨越機器邊界,因此您在消息中發送的任何對象都必須進行序列化並通過電報進行發送。
這意味着如果我想在其他服務/演員中使用它們,所有數據都將被複制? – CPA
對,如果您將數據從一個服務發送到另一個服務,則它是數據的副本,因爲這些服務可能位於不同的進程或甚至不同的計算機中。請記住,有狀態的服務數據與服務本身共存 - 它不存儲在外部位置。 –
當你投票的問題,請留下評論。這幫助我改進我的問題。 – CPA