SlideShare une entreprise Scribd logo
1  sur  57
Télécharger pour lire hors ligne
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

Contenu connexe

Similaire à 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
 

Similaire à 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
 

Plus de 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
 

Plus de 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
 

Dernier

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfkalichargn70th171
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdfWave PLM
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantAxelRicardoTrocheRiq
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
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
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...kellynguyen01
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsArshad QA
 
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
 
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
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfjoe51371421
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AIABDERRAOUF MEHENNI
 

Dernier (20)

Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdfThe Ultimate Test Automation Guide_ Best Practices and Tips.pdf
The Ultimate Test Automation Guide_ Best Practices and Tips.pdf
 
5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf5 Signs You Need a Fashion PLM Software.pdf
5 Signs You Need a Fashion PLM Software.pdf
 
Salesforce Certified Field Service Consultant
Salesforce Certified Field Service ConsultantSalesforce Certified Field Service Consultant
Salesforce Certified Field Service Consultant
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
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
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
Short Story: Unveiling the Reasoning Abilities of Large Language Models by Ke...
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Software Quality Assurance Interview Questions
Software Quality Assurance Interview QuestionsSoftware Quality Assurance Interview Questions
Software Quality Assurance Interview Questions
 
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
 
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
 
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...
 
why an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdfwhy an Opensea Clone Script might be your perfect match.pdf
why an Opensea Clone Script might be your perfect match.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AISyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
SyndBuddy AI 2k Review 2024: Revolutionizing Content Syndication with AI
 

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