SlideShare a Scribd company logo
AKKurate
twist522@gmail.com
JUG Lviv
outline
Problems to solve
Actor Model
Java & Scala actors
Fault-tolerance
Scaling, Remoting
Reactiveness
Some best practices
The Problem
• highly concurrent
• scalable
• fault-tolerant
AKKA
Akkurate Akka
Program at a higher level
Scaling up & out
& down & .. whatever
Automatic Replication & Distribution
for fault tolerance & scalability
Automatic Load Balancing
Modules
• akka-kernel
• akka-actor
• akka-camel
• akka-remote
• akka-cluster
• akka-persistence
• akka-stream
• …
Actor Model
Back into the 70’s
actors could
• perform
• create another actors
• send messages
• become
Carl Hewitt
Actor
• one msg at a time
• in one thread
• msgs in order
• small (~2.5M per Gb)
Core operations
0. Define
1. Create
2. Send
3. Become
4. Supervise
0. Define
In Scala
1. Create
Actor hierarchy
2. Send
Full example
In Scala
Hot Swap
In Scala
ask
Futures
Supervision & Monitoring
• failures happen
• application should self-heal
• each actor have supervisor
• supervisor handles failures
– RESUME
– RESTART
– STOP
– ESCALATE
Failure management
money
snack
not enough!FATAL ERROR
FATAL ERROR
supervisor
Supervisor hierarchies
• One-for-one strategy
• All-for-one strategy
Root actors
4. Supervise
Death Watch
Failure management in Java
Load Balancing
• scaling up – routers
• scaling out – akka-cluster
Routers
From config
Routers
• Random
• Round-robin
• Smallest messagebox
• Broadcast
• ScatterGatherFirstCompletedOf
• …
Remote Deployment
Lookup
Note on reactiveness
Reactive manifesto
Actors should do only one thing
• Single responsibility principle
• Create specific supervisors
• Keep the error kernel simple
Avoid blocking
Don’t expose actors
• Avoid using this
• Don’t close over variables
• Use immutable messages with immutable
data
E0
F

More Related Content

PPTX
Adopting Elixir in a 10 year old codebase
PDF
Challenges of moving a java team to scala
PDF
Scala Native: Ahead of Time
PPTX
Akka Fundamentals
KEY
Java to scala
PDF
Rails 5 subjective overview
PPTX
Scala adoption by enterprises
PDF
User-percieved performance
Adopting Elixir in a 10 year old codebase
Challenges of moving a java team to scala
Scala Native: Ahead of Time
Akka Fundamentals
Java to scala
Rails 5 subjective overview
Scala adoption by enterprises
User-percieved performance

What's hot (20)

PPT
Indic threads pune12-akka-actors
PPT
Sbt, idea and eclipse
PPT
Evolving IGN’s New APIs with Scala
PPTX
Azkaban and Pig at LinkedIn
PDF
Is Serverless The New Swiss Cheese?
PPTX
AWS Serverless solution for developers
PPTX
Spark UDFs are EviL, Catalyst to the rEsCue!
PDF
Serverless Application Model - Executing Lambdas Locally
PDF
Scala for java developers 6 may 2017 - yeni
PPTX
Inside Wordnik's Architecture
PDF
Armada - the way to ship microservices
PDF
Akka and AngularJS – Reactive Applications in Practice
PDF
Serverless Architecture Patterns - Manoj Ganapathi
PDF
Donald Ferguson - Old Programmers Can Learn New Tricks
PPTX
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
PDF
Actors evolved- Rotem Hermon
PPTX
Riga Dev Days: Building a Smart Security Camera with Raspberry Pi Zero, Node....
PDF
PDF
Clojure/north 2019 Raising Services and People with Clojure
PPTX
Developing distributed applications with Akka and Akka Cluster
Indic threads pune12-akka-actors
Sbt, idea and eclipse
Evolving IGN’s New APIs with Scala
Azkaban and Pig at LinkedIn
Is Serverless The New Swiss Cheese?
AWS Serverless solution for developers
Spark UDFs are EviL, Catalyst to the rEsCue!
Serverless Application Model - Executing Lambdas Locally
Scala for java developers 6 may 2017 - yeni
Inside Wordnik's Architecture
Armada - the way to ship microservices
Akka and AngularJS – Reactive Applications in Practice
Serverless Architecture Patterns - Manoj Ganapathi
Donald Ferguson - Old Programmers Can Learn New Tricks
Microservices Manchester: Lightning Talk- Actor Based Concurrency by Amy O'Leary
Actors evolved- Rotem Hermon
Riga Dev Days: Building a Smart Security Camera with Raspberry Pi Zero, Node....
Clojure/north 2019 Raising Services and People with Clojure
Developing distributed applications with Akka and Akka Cluster
Ad

Similar to Akkurate Akka (20)

PDF
Akka Actors: an Introduction
PDF
Building Massively Scalable application with Akka 2.0
PPTX
Akka framework
PDF
Akka 2.0 Reloaded
PDF
Akka knolx
PDF
Reactive programming with akka
PDF
Reactive Programming in Akka
PPTX
Building Reactive System with Akka
PDF
Introduction to Akka
PDF
Introduction to Actor Model and Akka
PPTX
Akka Actors
PDF
Working With Child Actors in Akka
PDF
Working With Child Actors in Akka
PDF
Reactive programming with akka
PDF
Akka-intro-training-public.pdf
PDF
Akka (1)
PDF
Take a Look at Akka+Java (English version)
PDF
Akka lsug skills matter
PDF
Scaling Web Apps with Akka
PPTX
Akka dotnet presentation ndc 2017
Akka Actors: an Introduction
Building Massively Scalable application with Akka 2.0
Akka framework
Akka 2.0 Reloaded
Akka knolx
Reactive programming with akka
Reactive Programming in Akka
Building Reactive System with Akka
Introduction to Akka
Introduction to Actor Model and Akka
Akka Actors
Working With Child Actors in Akka
Working With Child Actors in Akka
Reactive programming with akka
Akka-intro-training-public.pdf
Akka (1)
Take a Look at Akka+Java (English version)
Akka lsug skills matter
Scaling Web Apps with Akka
Akka dotnet presentation ndc 2017
Ad

Recently uploaded (20)

PPTX
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
PPTX
UNIT-1 - COAL BASED THERMAL POWER PLANTS
PPTX
web development for engineering and engineering
PDF
PPT on Performance Review to get promotions
PPTX
OOP with Java - Java Introduction (Basics)
PDF
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
PPTX
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
DOCX
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
PPTX
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
PPTX
bas. eng. economics group 4 presentation 1.pptx
PDF
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
PPTX
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
PPTX
Lesson 3_Tessellation.pptx finite Mathematics
PPTX
Internet of Things (IOT) - A guide to understanding
PPTX
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
PPTX
Strings in CPP - Strings in C++ are sequences of characters used to store and...
PDF
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
PDF
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
PDF
Arduino robotics embedded978-1-4302-3184-4.pdf
PPTX
Welding lecture in detail for understanding
IOT PPTs Week 10 Lecture Material.pptx of NPTEL Smart Cities contd
UNIT-1 - COAL BASED THERMAL POWER PLANTS
web development for engineering and engineering
PPT on Performance Review to get promotions
OOP with Java - Java Introduction (Basics)
Mohammad Mahdi Farshadian CV - Prospective PhD Student 2026
KTU 2019 -S7-MCN 401 MODULE 2-VINAY.pptx
ASol_English-Language-Literature-Set-1-27-02-2023-converted.docx
Infosys Presentation by1.Riyan Bagwan 2.Samadhan Naiknavare 3.Gaurav Shinde 4...
bas. eng. economics group 4 presentation 1.pptx
July 2025 - Top 10 Read Articles in International Journal of Software Enginee...
MET 305 2019 SCHEME MODULE 2 COMPLETE.pptx
Lesson 3_Tessellation.pptx finite Mathematics
Internet of Things (IOT) - A guide to understanding
Engineering Ethics, Safety and Environment [Autosaved] (1).pptx
Strings in CPP - Strings in C++ are sequences of characters used to store and...
keyrequirementskkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkkk
The CXO Playbook 2025 – Future-Ready Strategies for C-Suite Leaders Cerebrai...
Arduino robotics embedded978-1-4302-3184-4.pdf
Welding lecture in detail for understanding

Akkurate Akka