SlideShare a Scribd company logo
1 of 57
Download to read offline
Hugh McKee (@mckeeh3), Developer Advocate
Building Stateful Clustered Microservices
with Java, Actors, and Kubernetes
Hugh McKee (@mckeeh3), Developer Advocate
Hugh McKee (@mckeeh3), Developer Advocate
Hugh McKee (@mckeeh3), Developer Advocate
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
The actor model in computer science is a mathematical model of
concurrent computation that treats "actors" as the universal primitives
of concurrent computation. In response to a message that it receives,
an actor can: make local decisions, create more actors, send more
messages, and determine how to respond to the next message
received. Actors may modify their own private state, but can only affect
each other through messages (avoiding the need for any locks).
Wikipedia
Kubernetes (K8s) is an open-source system for
automating deployment, scaling, and management
of containerized applications.
Kubernetes (K8s) is an open-source system for
automating deployment, scaling, and management
of containerized applications.
elastic
resilient
Akka cluster and Kubernetes
Live demo
“Crop Circle”
Shows
Running Pods / JVMs
“Crop Circle”
Shows
Running Pods / JVMs
POD / JVM
POD / JVM
POD / JVM
Entity
Shard
Singleton
HTTP Server
Pod
Entities added as needed
Inactive entities shutdown
Microservice Application
Microservice
Resilience and Scale Demo
The enabler of these characteristics is a Cloud-Ready Message Driven Model.
Lightbend codified these principles into the Reactive Manifesto in 2013; 24,000+ signatories around the world so far.
Responsive Resilient Elastic
React to
Users
React to
Failures
React to
Load Variance
Low latency / High
performance
Real-time / NRT
Graceful, Non-catastrophic
Recovery
Self-Healing
Responsive in the face of
changing loads
Reactive Systems
The enabler of these characteristics is a Cloud-Ready Message Driven Model.
Lightbend codified these principles into the Reactive Manifesto in 2013; 24,000+ signatories around the world so far.
Responsive Resilient Elastic
React to
Users
React to
Failures
React to
Load Variance
Low latency / High
performance
Real-time / NRT
Graceful, Non-catastrophic
Recovery
Self-Healing
Responsive in the face of
changing loads
Reactive Systems
Java Maven K8
Project Review
Clustered Entity Actors
You
entity 64
Load Balancer
Me
entity 17
Other
entity 76
You
entity 64
Load Balancer
Me
entity 17
Other
entity 76
Clustered Entity Actors
Code Review
Load Balancer
Pod 1
Load Balancer
Pod 2Pod 1 Pod 3
Load Balancer
Pod 2Pod 1 Pod 3
Distributed Actors
Cluster Aware
Actors
Distributed Actors
Cluster Aware
Actors
Distributed Actors
Cluster Aware
Actors
Distributed Actors
Cluster Aware
Actors
Distributed Actors
Cluster Aware
Actors
Distributed Actors
Cluster Aware
Actors
Cluster Aware Actors
Code Review
Shard Distribution
Akka Cluster Singleton
Shard Distribution
Akka Cluster Singleton
Shard Distribution
Akka Cluster Singleton
Entity Distributed Sharding
Akka Cluster Sharding
Entity Distributed
Sharding
Akka Cluster Sharding
Event Sourcing & CQRS
Akka Persistence & Persistence Query
Event Sourcing & CQRS
Akka Persistence &
Persistence Query
User ID Time Event
You 64 08:11 Add Item 1567
Me 17 08:15 Add Item 3254
Other 76 08:16 Add Item 8359
You 64 08:20 Add Item 2632
Me 17 08:20 Add Item 4983
Other 76 08:24 Change Item 8359
You 64 08:25 Remove Item 1567
You 64 08:26 Add shipping address
Other 76 08:30 Add Item 2438
Me 17 08:33 Add shipping address
Me 17 08:33 Add billing address
You 64 08:35 Add billing address
Event Sourcing & CQRS
You
entity 64
Load Balancer
Me
entity 17
Other
entity 76
Akka Reactive Systems and Kubernetes
Responsive Resilient Elastic
React to
Users
React to
Failures
React to
Load Variance
Low latency / High
performance
Real-time / NRT
Graceful, Non-catastrophic
Recovery
Self-Healing
Responsive in the face of
changing loads
a beautiful relationship
/akka-java-cluster-kubernetes
/akka-java-cluster.git
/akka-java-cluster-aware.git
/akka-java-cluster-singleton.git
/akka-java-cluster-sharding.git
/akka-java-cluster-persistence.git
/akka-java-cluster-persistence-query.git
https://github.com/mckeeh3…
Upgrade your grey matter!

Get the free O’Reilly book by Hugh McKee, 

Developer Advocate at Lightbend
https://www.lightbend.com/ebooks
Hugh McKee (@mckeeh3), Developer Advocate
hugh.mckee@lightbend.com
Akka and Kubernetes:
The beginning of a beautiful relationship
Building Stateful Clustered Microservices with Java, Actors, and Kubernetes

More Related Content

Similar to Building Stateful Clustered Microservices with Java, Actors, and Kubernetes

Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)
Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)
Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)Daniel Katz
 
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...Codemotion
 
Reactive applications and Akka intro used in the Madrid Scala Meetup
Reactive applications and Akka intro used in the Madrid Scala MeetupReactive applications and Akka intro used in the Madrid Scala Meetup
Reactive applications and Akka intro used in the Madrid Scala MeetupMiguel Pastor
 
Evolution as a Tool for Understanding and Designing Collaborative Systems
Evolution as a Tool for Understanding and Designing Collaborative SystemsEvolution as a Tool for Understanding and Designing Collaborative Systems
Evolution as a Tool for Understanding and Designing Collaborative SystemsWilfried Elmenreich
 
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...Daniel Katz
 
Artificial intelligence apporoach to robotics
Artificial intelligence apporoach to roboticsArtificial intelligence apporoach to robotics
Artificial intelligence apporoach to roboticsEr. rahul abhishek
 
User needs and legally ruled collaboration in the VirtualLife virtual world p...
User needs and legally ruled collaboration in the VirtualLife virtual world p...User needs and legally ruled collaboration in the VirtualLife virtual world p...
User needs and legally ruled collaboration in the VirtualLife virtual world p...Vytautas Čyras
 
Scaling software with akka
Scaling software with akkaScaling software with akka
Scaling software with akkascalaconfjp
 
Coates p: 1999 agent based modelling
Coates p: 1999 agent based modellingCoates p: 1999 agent based modelling
Coates p: 1999 agent based modellingArchiLab 7
 
Behavioural design pattern
Behavioural design patternBehavioural design pattern
Behavioural design patternBiruk Mamo
 
Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster OpenCredo
 
Fun with Functional Programming in Clojure
Fun with Functional Programming in ClojureFun with Functional Programming in Clojure
Fun with Functional Programming in ClojureCodemotion
 
Орхан Гасимов: "Reactive Applications in Java with Akka"
Орхан Гасимов: "Reactive Applications in Java with Akka"Орхан Гасимов: "Reactive Applications in Java with Akka"
Орхан Гасимов: "Reactive Applications in Java with Akka"Anna Shymchenko
 
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...Numenta
 
Framsticks
FramsticksFramsticks
FramsticksSayyed Z
 
Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelMassimo Bonanni
 

Similar to Building Stateful Clustered Microservices with Java, Actors, and Kubernetes (20)

Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)
Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)
Network Analysis and Law: Introductory Tutorial @ Jurix 2011 Meeting (Vienna)
 
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...
Fun with Functional Programming in Clojure - John Stevenson - Codemotion Amst...
 
Reactive applications and Akka intro used in the Madrid Scala Meetup
Reactive applications and Akka intro used in the Madrid Scala MeetupReactive applications and Akka intro used in the Madrid Scala Meetup
Reactive applications and Akka intro used in the Madrid Scala Meetup
 
Evolution as a Tool for Understanding and Designing Collaborative Systems
Evolution as a Tool for Understanding and Designing Collaborative SystemsEvolution as a Tool for Understanding and Designing Collaborative Systems
Evolution as a Tool for Understanding and Designing Collaborative Systems
 
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...
ICPSR - Complex Systems Models in the Social Sciences - Lecture 3 - Professor...
 
Artificial intelligence apporoach to robotics
Artificial intelligence apporoach to roboticsArtificial intelligence apporoach to robotics
Artificial intelligence apporoach to robotics
 
Individual based models
Individual based modelsIndividual based models
Individual based models
 
User needs and legally ruled collaboration in the VirtualLife virtual world p...
User needs and legally ruled collaboration in the VirtualLife virtual world p...User needs and legally ruled collaboration in the VirtualLife virtual world p...
User needs and legally ruled collaboration in the VirtualLife virtual world p...
 
Scaling software with akka
Scaling software with akkaScaling software with akka
Scaling software with akka
 
Coates p: 1999 agent based modelling
Coates p: 1999 agent based modellingCoates p: 1999 agent based modelling
Coates p: 1999 agent based modelling
 
Behavioural design pattern
Behavioural design patternBehavioural design pattern
Behavioural design pattern
 
Sharing-akka-pub
Sharing-akka-pubSharing-akka-pub
Sharing-akka-pub
 
Ai applications study
Ai applications  studyAi applications  study
Ai applications study
 
Ai applications study
Ai applications  studyAi applications  study
Ai applications study
 
Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster Spring Boot Microservices vs Akka Actor Cluster
Spring Boot Microservices vs Akka Actor Cluster
 
Fun with Functional Programming in Clojure
Fun with Functional Programming in ClojureFun with Functional Programming in Clojure
Fun with Functional Programming in Clojure
 
Орхан Гасимов: "Reactive Applications in Java with Akka"
Орхан Гасимов: "Reactive Applications in Java with Akka"Орхан Гасимов: "Reactive Applications in Java with Akka"
Орхан Гасимов: "Reactive Applications in Java with Akka"
 
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...
Could A Model Of Predictive Voting Explain Many Long-Range Connections? by Su...
 
Framsticks
FramsticksFramsticks
Framsticks
 
Discovering the Service Fabric's actor model
Discovering the Service Fabric's actor modelDiscovering the Service Fabric's actor model
Discovering the Service Fabric's actor model
 

More from Hugh McKee

The End of the Data Ice Age.pdf
The End of the Data Ice Age.pdfThe End of the Data Ice Age.pdf
The End of the Data Ice Age.pdfHugh McKee
 
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdf
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdfHow Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdf
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdfHugh McKee
 
From Monolithic Microservices to Micro Streams.pdf
From Monolithic Microservices to Micro Streams.pdfFrom Monolithic Microservices to Micro Streams.pdf
From Monolithic Microservices to Micro Streams.pdfHugh McKee
 
Microservice design patterns
Microservice design patternsMicroservice design patterns
Microservice design patternsHugh McKee
 
How to build megaservices mind7 2021 June 29
How to build megaservices   mind7 2021 June 29How to build megaservices   mind7 2021 June 29
How to build megaservices mind7 2021 June 29Hugh McKee
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaHugh McKee
 
7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRS7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRSHugh McKee
 
The Evolution From Monolith to Microservices to Serverless and Beyond
The Evolution From Monolith to Microservices to Serverless and BeyondThe Evolution From Monolith to Microservices to Serverless and Beyond
The Evolution From Monolith to Microservices to Serverless and BeyondHugh McKee
 
7 reasons-why-es-cqrs
7 reasons-why-es-cqrs7 reasons-why-es-cqrs
7 reasons-why-es-cqrsHugh McKee
 
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 Kiev
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 KievAkka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 Kiev
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 KievHugh McKee
 
Akka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipAkka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipHugh McKee
 
Akka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipAkka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipHugh McKee
 
Akka and-kubernetes
Akka and-kubernetesAkka and-kubernetes
Akka and-kubernetesHugh McKee
 
7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use  Event Sourcing & CQRS7 Reasons why your microservices should use  Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRSHugh McKee
 
Akka java-es-cqrs
Akka java-es-cqrsAkka java-es-cqrs
Akka java-es-cqrsHugh McKee
 

More from Hugh McKee (15)

The End of the Data Ice Age.pdf
The End of the Data Ice Age.pdfThe End of the Data Ice Age.pdf
The End of the Data Ice Age.pdf
 
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdf
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdfHow Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdf
How Secure Serverless Microservice Platforms Completely Change Dev & Ops.pdf
 
From Monolithic Microservices to Micro Streams.pdf
From Monolithic Microservices to Micro Streams.pdfFrom Monolithic Microservices to Micro Streams.pdf
From Monolithic Microservices to Micro Streams.pdf
 
Microservice design patterns
Microservice design patternsMicroservice design patterns
Microservice design patterns
 
How to build megaservices mind7 2021 June 29
How to build megaservices   mind7 2021 June 29How to build megaservices   mind7 2021 June 29
How to build megaservices mind7 2021 June 29
 
Yavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akkaYavaconf 2021 building io t digital twins with java and akka
Yavaconf 2021 building io t digital twins with java and akka
 
7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRS7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRS
 
The Evolution From Monolith to Microservices to Serverless and Beyond
The Evolution From Monolith to Microservices to Serverless and BeyondThe Evolution From Monolith to Microservices to Serverless and Beyond
The Evolution From Monolith to Microservices to Serverless and Beyond
 
7 reasons-why-es-cqrs
7 reasons-why-es-cqrs7 reasons-why-es-cqrs
7 reasons-why-es-cqrs
 
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 Kiev
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 KievAkka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 Kiev
Akka and Kubernetes, the beginning of a beautiful relationship - JEEConf 19 Kiev
 
Akka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipAkka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationship
 
Akka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationshipAkka and Kubernetes, the beginning of a beautiful relationship
Akka and Kubernetes, the beginning of a beautiful relationship
 
Akka and-kubernetes
Akka and-kubernetesAkka and-kubernetes
Akka and-kubernetes
 
7 Reasons why your microservices should use Event Sourcing & CQRS
7 Reasons why your microservices should use  Event Sourcing & CQRS7 Reasons why your microservices should use  Event Sourcing & CQRS
7 Reasons why your microservices should use Event Sourcing & CQRS
 
Akka java-es-cqrs
Akka java-es-cqrsAkka java-es-cqrs
Akka java-es-cqrs
 

Recently uploaded

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...ICS
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...Christina Lin
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...aditisharan08
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfkalichargn70th171
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Intelisync
 

Recently uploaded (20)

The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
The Real-World Challenges of Medical Device Cybersecurity- Mitigating Vulnera...
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
ODSC - Batch to Stream workshop - integration of Apache Spark, Cassandra, Pos...
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...Unit 1.1 Excite Part 1, class 9, cbse...
Unit 1.1 Excite Part 1, class 9, cbse...
 
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdfLearn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
Learn the Fundamentals of XCUITest Framework_ A Beginner's Guide.pdf
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Exploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the ProcessExploring iOS App Development: Simplifying the Process
Exploring iOS App Development: Simplifying the Process
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)Introduction to Decentralized Applications (dApps)
Introduction to Decentralized Applications (dApps)
 

Building Stateful Clustered Microservices with Java, Actors, and Kubernetes

  • 1. Hugh McKee (@mckeeh3), Developer Advocate Building Stateful Clustered Microservices with Java, Actors, and Kubernetes
  • 2. Hugh McKee (@mckeeh3), Developer Advocate
  • 3. Hugh McKee (@mckeeh3), Developer Advocate
  • 4. Hugh McKee (@mckeeh3), Developer Advocate
  • 5. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 6. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 7. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 8. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 9. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 10. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 11. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 12. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 13. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 14. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 15. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 16. The actor model in computer science is a mathematical model of concurrent computation that treats "actors" as the universal primitives of concurrent computation. In response to a message that it receives, an actor can: make local decisions, create more actors, send more messages, and determine how to respond to the next message received. Actors may modify their own private state, but can only affect each other through messages (avoiding the need for any locks). Wikipedia
  • 17. Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications.
  • 18. Kubernetes (K8s) is an open-source system for automating deployment, scaling, and management of containerized applications. elastic resilient
  • 19. Akka cluster and Kubernetes Live demo
  • 21. “Crop Circle” Shows Running Pods / JVMs POD / JVM POD / JVM POD / JVM
  • 23. Entities added as needed Inactive entities shutdown
  • 26. The enabler of these characteristics is a Cloud-Ready Message Driven Model. Lightbend codified these principles into the Reactive Manifesto in 2013; 24,000+ signatories around the world so far. Responsive Resilient Elastic React to Users React to Failures React to Load Variance Low latency / High performance Real-time / NRT Graceful, Non-catastrophic Recovery Self-Healing Responsive in the face of changing loads Reactive Systems
  • 27. The enabler of these characteristics is a Cloud-Ready Message Driven Model. Lightbend codified these principles into the Reactive Manifesto in 2013; 24,000+ signatories around the world so far. Responsive Resilient Elastic React to Users React to Failures React to Load Variance Low latency / High performance Real-time / NRT Graceful, Non-catastrophic Recovery Self-Healing Responsive in the face of changing loads Reactive Systems
  • 36.
  • 49. Event Sourcing & CQRS Akka Persistence & Persistence Query
  • 50. Event Sourcing & CQRS Akka Persistence & Persistence Query
  • 51. User ID Time Event You 64 08:11 Add Item 1567 Me 17 08:15 Add Item 3254 Other 76 08:16 Add Item 8359 You 64 08:20 Add Item 2632 Me 17 08:20 Add Item 4983 Other 76 08:24 Change Item 8359 You 64 08:25 Remove Item 1567 You 64 08:26 Add shipping address Other 76 08:30 Add Item 2438 Me 17 08:33 Add shipping address Me 17 08:33 Add billing address You 64 08:35 Add billing address Event Sourcing & CQRS
  • 53. Akka Reactive Systems and Kubernetes Responsive Resilient Elastic React to Users React to Failures React to Load Variance Low latency / High performance Real-time / NRT Graceful, Non-catastrophic Recovery Self-Healing Responsive in the face of changing loads a beautiful relationship
  • 55. Upgrade your grey matter!
 Get the free O’Reilly book by Hugh McKee, 
 Developer Advocate at Lightbend https://www.lightbend.com/ebooks
  • 56. Hugh McKee (@mckeeh3), Developer Advocate hugh.mckee@lightbend.com Akka and Kubernetes: The beginning of a beautiful relationship