Upload
briana-haynes
View
214
Download
0
Embed Size (px)
Citation preview
AgendaThe Problem domainThe Actor ModelThe Orleans FrameworkDemos
Hello World! PersistenceAdvanced topics – reentrancy, pub/subRunning in the cloud
Wrap Up
The Problem
Sca
lab
le
Resp
onsi
veErrors
Resilient
DecoupledLatency
Load
Unreliability
Unpre
dicta
bility
Perf
orm
anceFailure
Con
curr
ency
Data Consistency
What is the Actor model?Introduced in 1973!Deals with concurrency realisticallyAn Actor is a fundamental unit of computation
ProcessingStorageCommunication
What can an actor do?Create other actorsSend messages to other actorsDesignate what to do with the next message
Anatomy of an Actor systemAddressing mechanismMessaging systemDurable storageActor Life-cycle management
Project “Orleans”Distributed Actor runtime
Virtual Actor modelLocation transparency
Built for .NetActors (Grains) are .Net objectsMessaging through .Net interfacesAsynchronous through async/await in C#Automatic error propagation
Silo: Runtime exec. container
Implicit activation & lifecycle managementCoordinated placementMultiplexed communicationFailure recovery
Grain
Silo
Grain instances always exist, virtuallyNeedn’t be created, looked up or deletedGrains never fail
Activations are created on-demandIf there is no existing activation, a message sent to it triggers instantiationLifecycle is managed by the runtimeTransparent recovery from server failuresRuntime can create multiple activations of stateless grains (for performance)
Location transparencyGrains can pass references to one another aroundReferences can be persisted to cold-storage
Grains: Virtual actors
Actors in “Orleans”: Grains
Grain Type Grain (Instance) Grain Activation
Game Grain Type
Game Grain (Instance) #2,548,308
Game Grain (Instance) #2,031,769
Game Grain #2,548,308
Activation #1 @ 192.168.1.1
Game Grain #2,031,769
Activation #1 @ 192.168.1.5
Actor modelA way of writing concurrent distributed applicationsAn actor is the primary building block
“Orleans” FrameworkAn Actor Model implementation using .NET that runs on AzureProvides runtime, SDK, and compile time code generation
FeaturesConcept of virtual actorAbstracts away the difficult bits
UsesCaching, Gaming, IoT, etc.
Summary
Related content
http://codeplex.orleans.comOrleans whitepapersFollow
@sbykov_work, @richorama, @mknz, @reubenbond
Find Us Later At...Hub Happy Hour (Thu)
Resources
TechNet & MSDN FlashSubscribe to our fortnightly newsletter
http://aka.ms/technetnz http://aka.ms/msdnnz
TechNet Virtual LabsFree Virtual Hands-on Labs
http://aka.ms/ch9nz
Microsoft Virtual AcademyFree Online Learning
http://aka.ms/mva http://aka.ms/technetlabs
Sessions on Demand