SlideShare a Scribd company logo
Caching Entities using Actors
in a Distributed System
Aldrin Seychell
Technical Architect
@aseychell
GDG Malta Meetup
Group
https://www.meetup.com/GDGMalta/
Enterprise
Applications
@aseychell
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Actors = Threads
Lightweight Processes
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Akka
● Actor Model on the
JVM
● Abstract scheduling of actors
● Abstract details of message-passing
● Location transparency through ActorRef
● Elasticity of Java applications
● Remote Actors
● Fault tolerance with exceptions
@aseychell
Actor
Hierarchy
https://petabridge.com/
blog/how-actors-recover
-from-failure-hierarchy-a
nd-supervision/
@aseychell
Supervision
https://petabridge.co
m/blog/how-actors-re
cover-from-failure-hier
archy-and-supervision
@aseychell
Virtual Card 1 Virtual Card 2
Virtual Card 3
Router
Take €10 VC1
Take €25 VC1
Take €15 VC2
Put €50 VC3
Entity exists on only ONE node
Sharding Entities Sharding
Function
Shards place an upper-bound
on the load-balancing problem
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Google IO extended 2017 - Caching Entities using Actors in Distributed Systems
Tuning
Parameters
- Number of shards
- Sharding Function
- Load Balancing
- Recreating Actors on new nodes
- Remember-Entities?
- Resolving Split-Brain Situations
@aseychell
Google
Protocol
Buffers
(aka Protobuf)
“Protocol buffers are a language-neutral,
platform-neutral, extensible mechanism for
serializing structured data.”
https://developers.google.com/protocol-buffers/
message Counter {
int64 id = 1;
int64 value = 2;
}
message CounterOp {
enum Type {
INCREMENT = 0;
DECREMENT = 1;
}
int64 id = 1;
Type type = 2;
}
10101111010101011...
@aseychell
Demo - Sharding Counters
https://github.com/aseychell/demo-akka-clustersharding
@aseychell
Counter 1 Counter 2
Counter 3
Router
INCREMENT 1
INCREMENT 1
DECREMENT 2
GET 1
GET 2
GET 3
Thank you!
@aseychell

More Related Content

Similar to Google IO extended 2017 - Caching Entities using Actors in Distributed Systems (20)

PDF
Building Stateful Microservices With Akka
Yaroslav Tkachenko
 
PDF
Introducing Akka
Jonas Bonér
 
PDF
Introducingakkajavazone2012 120914094033-phpapp02
Typesafe
 
PDF
A tour of (advanced) Akka features in 40 minutes
Johan Janssen
 
PDF
Advanced akka features
Grzegorz Duda
 
PPTX
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
Johan Janssen
 
PDF
Reactive programming with akka
Sovon Nath
 
PDF
Reactive Programming in Akka
DevFest DC
 
PDF
Akka (1)
Rahul Shukla
 
PDF
Buiilding reactive distributed systems with Akka
Johan Andrén
 
PDF
Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...
Hugh McKee
 
PDF
Akka in Action: Heiko Seeburger
JAX London
 
PDF
Akka lsug skills matter
Skills Matter
 
PDF
Scaling Web Apps with Akka
Maciej Matyjas
 
KEY
Akka london scala_user_group
Skills Matter
 
PDF
Introduction to Actor Model and Akka
Yung-Lin Ho
 
PDF
Akka Cluster in Production
bilyushonak
 
PDF
Effective Akka v2.0 - Jamie Allen
JAXLondon_Conference
 
PDF
Actor, an elegant model for concurrent and distributed computation
Alessio Coltellacci
 
PDF
Introduction to the Actor Model
BoldRadius Solutions
 
Building Stateful Microservices With Akka
Yaroslav Tkachenko
 
Introducing Akka
Jonas Bonér
 
Introducingakkajavazone2012 120914094033-phpapp02
Typesafe
 
A tour of (advanced) Akka features in 40 minutes
Johan Janssen
 
Advanced akka features
Grzegorz Duda
 
JavaOne: A tour of (advanced) akka features in 60 minutes [con1706]
Johan Janssen
 
Reactive programming with akka
Sovon Nath
 
Reactive Programming in Akka
DevFest DC
 
Akka (1)
Rahul Shukla
 
Buiilding reactive distributed systems with Akka
Johan Andrén
 
Akka and Kubernetes, the beginning of a beautiful relationship - Container Da...
Hugh McKee
 
Akka in Action: Heiko Seeburger
JAX London
 
Akka lsug skills matter
Skills Matter
 
Scaling Web Apps with Akka
Maciej Matyjas
 
Akka london scala_user_group
Skills Matter
 
Introduction to Actor Model and Akka
Yung-Lin Ho
 
Akka Cluster in Production
bilyushonak
 
Effective Akka v2.0 - Jamie Allen
JAXLondon_Conference
 
Actor, an elegant model for concurrent and distributed computation
Alessio Coltellacci
 
Introduction to the Actor Model
BoldRadius Solutions
 

Recently uploaded (20)

PPTX
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
PPTX
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
PPTX
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PPTX
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
PDF
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
PDF
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
PPTX
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
PDF
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
PPTX
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
PDF
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
PDF
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
PDF
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
PDF
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
PPTX
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
PDF
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
PDF
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
PPTX
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
PDF
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
PPTX
Tally software_Introduction_Presentation
AditiBansal54083
 
PDF
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Agentic Automation: Build & Deploy Your First UiPath Agent
klpathrudu
 
Transforming Mining & Engineering Operations with Odoo ERP | Streamline Proje...
SatishKumar2651
 
ChiSquare Procedure in IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Home Care Tools: Benefits, features and more
Third Rock Techkno
 
[Solution] Why Choose the VeryPDF DRM Protector Custom-Built Solution for You...
Lingwen1998
 
Generic or Specific? Making sensible software design decisions
Bert Jan Schrijver
 
OpenChain @ OSS NA - In From the Cold: Open Source as Part of Mainstream Soft...
Shane Coughlan
 
SciPy 2025 - Packaging a Scientific Python Project
Henry Schreiner
 
Homogeneity of Variance Test Options IBM SPSS Statistics Version 31.pptx
Version 1 Analytics
 
Unlock Efficiency with Insurance Policy Administration Systems
Insurance Tech Services
 
4K Video Downloader Plus Pro Crack for MacOS New Download 2025
bashirkhan333g
 
The 5 Reasons for IT Maintenance - Arna Softech
Arna Softech
 
Digger Solo: Semantic search and maps for your local files
seanpedersen96
 
Migrating Millions of Users with Debezium, Apache Kafka, and an Acyclic Synch...
MD Sayem Ahmed
 
MiniTool Partition Wizard 12.8 Crack License Key LATEST
hashhshs786
 
MiniTool Partition Wizard Free Crack + Full Free Download 2025
bashirkhan333g
 
Hardware(Central Processing Unit ) CU and ALU
RizwanaKalsoom2
 
IDM Crack with Internet Download Manager 6.42 Build 43 with Patch Latest 2025
bashirkhan333g
 
Tally software_Introduction_Presentation
AditiBansal54083
 
vMix Pro 28.0.0.42 Download vMix Registration key Bundle
kulindacore
 
Ad

Google IO extended 2017 - Caching Entities using Actors in Distributed Systems