2. VICTOR HURDUGACI
• Romanian
• Currently: Electronic Arts, Seattle
• Past: Microsoft (ASP.NET, Azure WebJobs/Functions, X++ compiler)
• Fell asleep and woke up in a different country
• @VictorHurdugaci
• http://victorh.info
3. INTRODUCTION
• Data shipping paradigm
• Frontend: stateless
• Middle-tier: stateless
• Data transfer on every request
• No data locality
Frontend FrontendFrontendFrontendFrontendFrontend
Middle-tierMiddle-tierMiddle-tier
Storage
4. INTRODUCTION
• Data shipping paradigm
• Frontend: stateless
• Middle-tier: stateless
• Data transfer on every request
• No data locality
• No semantic and concurrency
benefits of storage
Frontend FrontendFrontendFrontendFrontendFrontend
Middle-tierMiddle-tierMiddle-tier
Storage
Cache
5. INTRODUCTION
• Function shipping paradigm
• Frontend: stateless
• Middle-tier: stateful
• Performance benefits of cache
• Data locality
• Semantic and concurrency benefits
Frontend FrontendFrontendFrontendFrontendFrontend
Middle-tierMiddle-tierMiddle-tier
Storage
Data Data Data
8. VIRTUAL ACTOR
• An actor is a computational entity that, in response to a message it receives, can
concurrently:
• Send a finite number of messages to other actors
• Create a finite number of new actors
• Designate the behavior to be used for the next message it receives (change state)
-- Wikipedia
15. ORBIT CLUSTER
Server
Orbit (java) process
Actor Actor Actor
Actor Actor
Server
Orbit (java) process
Actor Actor Actor
Actor
Server
Orbit (java) process
Actor Actor Actor
Actor Actor
Server
Orbit (java) process
Actor Actor Actor
22. HOST ⇒ CLIENT, CLIENT ⇏ HOST
Server/Client
Server/Client
Server/Client
Server/Client
Actor
directory
Node
directory
Messaging
Node
directory
Actor
directory
Actor
directory
Actor
directory
MessagingMessagingMessagingMessagingMessagingMessaging
Messaging
Client
23. EVENTUAL CONSISTENCY
• No failure = single activation guarantee
• Failure = single activation eventual guarantee
• Two activations in two different partitions
• One is eventually dropped
• Availability over consistency