SlideShare une entreprise Scribd logo
1  sur  52
Télécharger pour lire hors ligne
Get Reactive:
Microservices, Programming, and Systems
Jeremy Davis

Principal Solution Architect, App Dev

@argntprgrmr
Why Does Any of This Matter?
microservicesjourney.com3
46 years, 3 numbers
0.1
1
10
Jakob Nielsen
microservicesjourney.com4
Reactive is Responsive
6
there are always tools
Also Tools!
Reactive Systems/Reactive Programming
8
Programming, Systems, Both
Observable.range(1, 100)
.groupBy(n -> n % 2 == 0)
.flatMap(g -> {
return g.takeWhile(i -> i < 30).toList();
}).filter(l -> !l.isEmpty()).forEach(System.out::println);
microservicesjourney.com9
imicroservicesjourney.com
Reactive Programming
10
Event Driven Message Driven
Embraces realities of the networkEmbraces realities of data
Reactive Systems
Reactive Systems
12
Reactive Manifesto
13
Responsive
• dependability
• maintained under failure (resilience)
• maintained under load (elasticity)
because people get bored
microservicesjourney.com14
things fail
The system must be responsive in the face
of failure
• must be designed for not added in
• self-healing, full recovery
• replication
• isolation and containment
• delegation
Resilient
A System must stay responsive under various workloads
• scales up and down
• no contention points or bottlenecks
• replicable/shardable components
• provide relevant live performance measures
15
Elastic
everything changes
16
asynchronous communication
• asynchronous, non-blocking
• location transparency
• failures delegated as messages
• back pressure
Message Driven
Reactive Microservices
18
the basics
“The microservice architectural style is an approach to developing a single
application as a suite of small services, each running in its own process and
communicating with lightweight mechanisms, often an HTTP resource API. These
services are built around business capabilities and independently deployable by
fully automated deployment machinery. There is a bare minimum of centralized
management of these services, which may be written in different programming
languages and use different data storage technologies. “
— Martin Fowler
http://martinfowler.com/articles/microservices.html
Why?
Toolkits, Libraries, Frameworks
microservicesjourney.com20
Reactive Programming
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)22
An API for asynchronous programming with observable streams
ReactiveX
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)23
as opposed to traditional programming
Traditional
• Call a method
• Store the return value in a variable
• Do something useful with the variable
RxJava
RxJava
• Create a method that does something useful
with the return values of an asynchronous call
• Define the asynchronous call (Observable)
• Attach an observer to the Observable by
subscribing
• Do other stuff until the call returns and the
Observable begins to operate on the results
24
rx.Observable()
Observable.range(1, 100)
.groupBy(n -> n % 2 == 0)
.flatMap(g -> {
return g.toList();
}).forEach(System.out::println);
microservicesjourney.com25
like the Gang of Four pattern with onCompleted() and onError()
Observer Pattern
26
rx.Observable()
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)27
Insert copy
Operators (marbles)
28
29
all about the Observables
• Observable
• Operators
• Marbles
• Learning curve
Summary: rxJava
One Rule:
“Don’t mutate state outside of the function”
Reactive Streams
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)32
a standard for asynchronous stream processing that isn’t for end users
• Standard
• Interoperability layer
• no operators
• java.util.concurrent.Flow
• Github
• JavaScript
• Lightbend, Netflix, Pivotal, Red Hat
Reactive Streams
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)33
Actor
Mailbox
Actor
MailboxActor
Mailbox
Actor
Mailbox
Actor
Mailbox
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)34
Actor
Mailbox
Actor
Mailbox
akka://default/user/$a#114635109
akka://default/user/$a#114635173
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)35
36
its all about the actor model
• Actor Model
• Messaging
• Addressing
• Steams, Web, others
• Reactive end to end
Summary: akka
INSERT DESIGNATOR, IF NEEDED (EDIT ON MASTER SLIDE)37
a toolkit for building reactive applications on the JVM
Event Loop
COLUMN HEADING
ALL CAPS
Vertices Event Bus
38
single threaded event loop
Cardinal Rule:
“Don’t Block the Event Loop”
40
its all about verticles
41
messages
42
JsonObject
43
its all about reactive
• Reactive from end to end
• Json
• Event Loop
• Messaging
• rxJava built in
• Polyglot
Summary: Eclipse Vert.x
44
Project Reactor and WebFlux
45
46
its hidden
• Flux
• Mono
• WebFlux
• Reactive Streams
Summary: Spring Reactor
47
General
Books:
https://info.lightbend.com/COLL-20XX-Designing-Reactive-Systems_RES-LP.html
Webinars :
https://www.lightbend.com/blog/akka-revealed-jvm-architects-journey-from-resilient-actors-
to-scalable-clusters
https://www.lightbend.com/blog/using-the-actor-model-with-domain-driven-design-ddd-in-
reactive-systems-with-vaughn-vernon
Blogs:
https://developer.lightbend.com/blog/2017-08-10-atotm-akka-messaging-part-1/index.html
https://developer.lightbend.com/blog/2017-11-01-atotm-akka-messaging-part-2/index.html
Links
48
Vert.x
Tutorials:
http://vertx.io/blog/posts/introduction-to-vertx.html
http://escoffier.me/vertx-hol/
Books:
http://vertx.io/docs/guide-for-java-devs/
https://developers.redhat.com/promotions/building-reactive-microservices-in-java/
Presentations:
https://www.youtube.com/channel/UCGN6L3tRhs92Uer3c6VxOSA
Links
49
RxJava
Books:
http://shop.oreilly.com/product/0636920042228.do
Code:
https://github.com/ReactiveX/RxJava
https://github.com/jhusain/learnrxjava
Presentations:
GOTO 2013 • Functional Reactive Programming with RxJava • Ben Christensen
Links
50
Spring Reactor/WebFlux
Blogs:
https://spring.io/blog/2016/06/07/notes-on-reactive-programming-part-i-the-reactive-
landscape
Presentations:
https://www.youtube.com/watch?v=zVNIZXf4BG8
Links
51
Shootout!
• Ken Finnigan - WildFly Swarm
• Brian Ashburn - Spring Boot
• Lance Ball - NodeJS
• Deven Phillips - Eclipse Vert.x
Next Up
plus.google.com/+RedHat
linkedin.com/company/red-hat
youtube.com/user/RedHatVideos
facebook.com/redhatinc
twitter.com/RedHatNews
Thank You!

Contenu connexe

Tendances

Control System toolbox in Matlab
Control System toolbox in MatlabControl System toolbox in Matlab
Control System toolbox in MatlabAbdul Sami
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesPolytechnique Montréal
 
Reactive Extensions (Rx)
Reactive Extensions (Rx)Reactive Extensions (Rx)
Reactive Extensions (Rx)Mark Allan
 
RxJS Evolved
RxJS EvolvedRxJS Evolved
RxJS Evolvedtrxcllnt
 
Reactive X introduction part1
Reactive X introduction part1Reactive X introduction part1
Reactive X introduction part1Jieyi Wu
 
CS106 Lab 8 - Nested loops
CS106 Lab 8 - Nested loopsCS106 Lab 8 - Nested loops
CS106 Lab 8 - Nested loopsNada Kamel
 
Randomizing quicksort algorith with example
Randomizing quicksort algorith with exampleRandomizing quicksort algorith with example
Randomizing quicksort algorith with examplemaamir farooq
 
CS106 Lab 3 - Modulus
CS106 Lab 3 - ModulusCS106 Lab 3 - Modulus
CS106 Lab 3 - ModulusNada Kamel
 
CS106 Lab 11 - Functions (passing by reference)
CS106 Lab 11 - Functions (passing by reference)CS106 Lab 11 - Functions (passing by reference)
CS106 Lab 11 - Functions (passing by reference)Nada Kamel
 
RxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrowRxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrowViliam Elischer
 
Maximum pressure policies in stochastic processing networks
Maximum pressure policies in stochastic processing networksMaximum pressure policies in stochastic processing networks
Maximum pressure policies in stochastic processing networksHector Perez
 
20170714 concurrency in julia
20170714 concurrency in julia20170714 concurrency in julia
20170714 concurrency in julia岳華 杜
 
Superefficient Monte Carlo Simulations
Superefficient Monte Carlo SimulationsSuperefficient Monte Carlo Simulations
Superefficient Monte Carlo SimulationsCheng-An Yang
 
Dsoop (co 221) 1
Dsoop (co 221) 1Dsoop (co 221) 1
Dsoop (co 221) 1Puja Koch
 
Reactive Extensions for .NET
Reactive Extensions for .NETReactive Extensions for .NET
Reactive Extensions for .NETAndrei Marukovich
 
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2 Tomasz Bak
 

Tendances (20)

Angular2 rxjs
Angular2 rxjsAngular2 rxjs
Angular2 rxjs
 
Control System toolbox in Matlab
Control System toolbox in MatlabControl System toolbox in Matlab
Control System toolbox in Matlab
 
A calculus of mobile Real-Time processes
A calculus of mobile Real-Time processesA calculus of mobile Real-Time processes
A calculus of mobile Real-Time processes
 
Reactive Extensions (Rx)
Reactive Extensions (Rx)Reactive Extensions (Rx)
Reactive Extensions (Rx)
 
Effect of adding zero
 Effect of adding zero Effect of adding zero
Effect of adding zero
 
RxJS Evolved
RxJS EvolvedRxJS Evolved
RxJS Evolved
 
Reactive X introduction part1
Reactive X introduction part1Reactive X introduction part1
Reactive X introduction part1
 
CS106 Lab 8 - Nested loops
CS106 Lab 8 - Nested loopsCS106 Lab 8 - Nested loops
CS106 Lab 8 - Nested loops
 
Randomizing quicksort algorith with example
Randomizing quicksort algorith with exampleRandomizing quicksort algorith with example
Randomizing quicksort algorith with example
 
CS106 Lab 3 - Modulus
CS106 Lab 3 - ModulusCS106 Lab 3 - Modulus
CS106 Lab 3 - Modulus
 
CS106 Lab 11 - Functions (passing by reference)
CS106 Lab 11 - Functions (passing by reference)CS106 Lab 11 - Functions (passing by reference)
CS106 Lab 11 - Functions (passing by reference)
 
RxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrowRxJS101 - What you need to know to get started with RxJS tomorrow
RxJS101 - What you need to know to get started with RxJS tomorrow
 
Maximum pressure policies in stochastic processing networks
Maximum pressure policies in stochastic processing networksMaximum pressure policies in stochastic processing networks
Maximum pressure policies in stochastic processing networks
 
20170714 concurrency in julia
20170714 concurrency in julia20170714 concurrency in julia
20170714 concurrency in julia
 
Superefficient Monte Carlo Simulations
Superefficient Monte Carlo SimulationsSuperefficient Monte Carlo Simulations
Superefficient Monte Carlo Simulations
 
Maitri's Matlab
Maitri's Matlab   Maitri's Matlab
Maitri's Matlab
 
Q02 key
Q02 keyQ02 key
Q02 key
 
Dsoop (co 221) 1
Dsoop (co 221) 1Dsoop (co 221) 1
Dsoop (co 221) 1
 
Reactive Extensions for .NET
Reactive Extensions for .NETReactive Extensions for .NET
Reactive Extensions for .NET
 
Functional Reactive Angular 2
Functional Reactive Angular 2 Functional Reactive Angular 2
Functional Reactive Angular 2
 

Similaire à Get Reactive: Microservices, Programming, and Systems

How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingIndicThreads
 
Matheus Albuquerque "The best is yet to come: the Future of React"
Matheus Albuquerque "The best is yet to come: the Future of React"Matheus Albuquerque "The best is yet to come: the Future of React"
Matheus Albuquerque "The best is yet to come: the Future of React"Fwdays
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixZabbix
 
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]Igor Lozynskyi
 
Understanding reactive programming with microsoft reactive extensions
Understanding reactive programming  with microsoft reactive extensionsUnderstanding reactive programming  with microsoft reactive extensions
Understanding reactive programming with microsoft reactive extensionsOleksandr Zhevzhyk
 
Hierarchical free monads and software design in fp
Hierarchical free monads and software design in fpHierarchical free monads and software design in fp
Hierarchical free monads and software design in fpAlexander Granin
 
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyTues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyAnton Yazovskiy
 
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducePolyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducethumbtacktech
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Chakkrit (Kla) Tantithamthavorn
 
Oblivious Neural Network Predictions via MiniONN Transformations
Oblivious Neural Network Predictions via MiniONN TransformationsOblivious Neural Network Predictions via MiniONN Transformations
Oblivious Neural Network Predictions via MiniONN TransformationsSherif Abdelfattah
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical ComputingNaveed Rehman
 
Python Programming - IX. On Randomness
Python Programming - IX. On RandomnessPython Programming - IX. On Randomness
Python Programming - IX. On RandomnessRanel Padon
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examplesPeter Lawrey
 
Towards Reactive Planning With Digital Twins and Model-Driven Optimization
Towards Reactive Planning With Digital Twins and Model-Driven OptimizationTowards Reactive Planning With Digital Twins and Model-Driven Optimization
Towards Reactive Planning With Digital Twins and Model-Driven OptimizationDaniel Lehner
 
A science-gateway for workflow executions: online and non-clairvoyant self-h...
A science-gateway for workflow executions: online and non-clairvoyant self-h...A science-gateway for workflow executions: online and non-clairvoyant self-h...
A science-gateway for workflow executions: online and non-clairvoyant self-h...Rafael Ferreira da Silva
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedOmid Vahdaty
 
PID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB ApproachPID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB ApproachWaleed El-Badry
 
Testing: ¿what, how, why?
Testing: ¿what, how, why?Testing: ¿what, how, why?
Testing: ¿what, how, why?David Rodenas
 

Similaire à Get Reactive: Microservices, Programming, and Systems (20)

How to Think in RxJava Before Reacting
How to Think in RxJava Before ReactingHow to Think in RxJava Before Reacting
How to Think in RxJava Before Reacting
 
Java Micro-Benchmarking
Java Micro-BenchmarkingJava Micro-Benchmarking
Java Micro-Benchmarking
 
Matheus Albuquerque "The best is yet to come: the Future of React"
Matheus Albuquerque "The best is yet to come: the Future of React"Matheus Albuquerque "The best is yet to come: the Future of React"
Matheus Albuquerque "The best is yet to come: the Future of React"
 
Monitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With ZabbixMonitoring all Elements of Your Database Operations With Zabbix
Monitoring all Elements of Your Database Operations With Zabbix
 
RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]RxJava applied [JavaDay Kyiv 2016]
RxJava applied [JavaDay Kyiv 2016]
 
Understanding reactive programming with microsoft reactive extensions
Understanding reactive programming  with microsoft reactive extensionsUnderstanding reactive programming  with microsoft reactive extensions
Understanding reactive programming with microsoft reactive extensions
 
Hierarchical free monads and software design in fp
Hierarchical free monads and software design in fpHierarchical free monads and software design in fp
Hierarchical free monads and software design in fp
 
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiyTues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
Tues 115pm cassandra + s3 + hadoop = quick auditing and analytics_yazovskiy
 
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReducePolyglot Persistence in the Real World: Cassandra + S3 + MapReduce
Polyglot Persistence in the Real World: Cassandra + S3 + MapReduce
 
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
Software Analytics In Action: A Hands-on Tutorial on Mining, Analyzing, Model...
 
Oblivious Neural Network Predictions via MiniONN Transformations
Oblivious Neural Network Predictions via MiniONN TransformationsOblivious Neural Network Predictions via MiniONN Transformations
Oblivious Neural Network Predictions via MiniONN Transformations
 
MATLAB for Technical Computing
MATLAB for Technical ComputingMATLAB for Technical Computing
MATLAB for Technical Computing
 
Python Programming - IX. On Randomness
Python Programming - IX. On RandomnessPython Programming - IX. On Randomness
Python Programming - IX. On Randomness
 
Rx workshop
Rx workshopRx workshop
Rx workshop
 
Reactive programming with examples
Reactive programming with examplesReactive programming with examples
Reactive programming with examples
 
Towards Reactive Planning With Digital Twins and Model-Driven Optimization
Towards Reactive Planning With Digital Twins and Model-Driven OptimizationTowards Reactive Planning With Digital Twins and Model-Driven Optimization
Towards Reactive Planning With Digital Twins and Model-Driven Optimization
 
A science-gateway for workflow executions: online and non-clairvoyant self-h...
A science-gateway for workflow executions: online and non-clairvoyant self-h...A science-gateway for workflow executions: online and non-clairvoyant self-h...
A science-gateway for workflow executions: online and non-clairvoyant self-h...
 
Machine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data DemystifiedMachine Learning Essentials Demystified part2 | Big Data Demystified
Machine Learning Essentials Demystified part2 | Big Data Demystified
 
PID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB ApproachPID Tuning using Ziegler Nicholas - MATLAB Approach
PID Tuning using Ziegler Nicholas - MATLAB Approach
 
Testing: ¿what, how, why?
Testing: ¿what, how, why?Testing: ¿what, how, why?
Testing: ¿what, how, why?
 

Plus de Jeremy Davis

Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic Java
Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic JavaMeet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic Java
Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic JavaJeremy Davis
 
7 Strategies for Building Majestic Monoliths _ UJUG.pdf
7 Strategies for Building Majestic Monoliths _ UJUG.pdf7 Strategies for Building Majestic Monoliths _ UJUG.pdf
7 Strategies for Building Majestic Monoliths _ UJUG.pdfJeremy Davis
 
Domain Driven Design, Event Storming and Event Driven Applications
Domain Driven Design, Event Storming and Event Driven ApplicationsDomain Driven Design, Event Storming and Event Driven Applications
Domain Driven Design, Event Storming and Event Driven ApplicationsJeremy Davis
 
7 Strategies for Building Majestic Monoliths
7 Strategies for Building Majestic Monoliths7 Strategies for Building Majestic Monoliths
7 Strategies for Building Majestic MonolithsJeremy Davis
 
Mutiny on the JVM: Taming Complexity in the Heart of Reactive Java
Mutiny on the JVM: Taming Complexity in the Heart of Reactive JavaMutiny on the JVM: Taming Complexity in the Heart of Reactive Java
Mutiny on the JVM: Taming Complexity in the Heart of Reactive JavaJeremy Davis
 
Event Driven Architecture with Quarkus,Kafka, Kubernetes
Event Driven Architecture with Quarkus,Kafka, Kubernetes Event Driven Architecture with Quarkus,Kafka, Kubernetes
Event Driven Architecture with Quarkus,Kafka, Kubernetes Jeremy Davis
 
Eda,quarkus,kafka,kubernetes
Eda,quarkus,kafka,kubernetesEda,quarkus,kafka,kubernetes
Eda,quarkus,kafka,kubernetesJeremy Davis
 
Event Driven Architecture with Quarkus,Kafka and Kubernetes
Event Driven Architecture with Quarkus,Kafka and KubernetesEvent Driven Architecture with Quarkus,Kafka and Kubernetes
Event Driven Architecture with Quarkus,Kafka and KubernetesJeremy Davis
 
Kubernetes (and OpenShift) for developers
Kubernetes (and OpenShift) for developersKubernetes (and OpenShift) for developers
Kubernetes (and OpenShift) for developersJeremy Davis
 
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day Dallas
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day DallasSupersonic, Subatomic, Kubernetes Native Java : Microservices Day Dallas
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day DallasJeremy Davis
 
Supersonic, Subatomic, Kubernetes native java
Supersonic, Subatomic, Kubernetes native javaSupersonic, Subatomic, Kubernetes native java
Supersonic, Subatomic, Kubernetes native javaJeremy Davis
 
Serverless or Serverfull Microservices Day Phoenix
Serverless or Serverfull Microservices Day PhoenixServerless or Serverfull Microservices Day Phoenix
Serverless or Serverfull Microservices Day PhoenixJeremy Davis
 
Agile integration workshop Atlanta
Agile integration workshop   AtlantaAgile integration workshop   Atlanta
Agile integration workshop AtlantaJeremy Davis
 

Plus de Jeremy Davis (13)

Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic Java
Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic JavaMeet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic Java
Meet Quarkus: A Mostly Code Introduction to Supersonic, Subatomic Java
 
7 Strategies for Building Majestic Monoliths _ UJUG.pdf
7 Strategies for Building Majestic Monoliths _ UJUG.pdf7 Strategies for Building Majestic Monoliths _ UJUG.pdf
7 Strategies for Building Majestic Monoliths _ UJUG.pdf
 
Domain Driven Design, Event Storming and Event Driven Applications
Domain Driven Design, Event Storming and Event Driven ApplicationsDomain Driven Design, Event Storming and Event Driven Applications
Domain Driven Design, Event Storming and Event Driven Applications
 
7 Strategies for Building Majestic Monoliths
7 Strategies for Building Majestic Monoliths7 Strategies for Building Majestic Monoliths
7 Strategies for Building Majestic Monoliths
 
Mutiny on the JVM: Taming Complexity in the Heart of Reactive Java
Mutiny on the JVM: Taming Complexity in the Heart of Reactive JavaMutiny on the JVM: Taming Complexity in the Heart of Reactive Java
Mutiny on the JVM: Taming Complexity in the Heart of Reactive Java
 
Event Driven Architecture with Quarkus,Kafka, Kubernetes
Event Driven Architecture with Quarkus,Kafka, Kubernetes Event Driven Architecture with Quarkus,Kafka, Kubernetes
Event Driven Architecture with Quarkus,Kafka, Kubernetes
 
Eda,quarkus,kafka,kubernetes
Eda,quarkus,kafka,kubernetesEda,quarkus,kafka,kubernetes
Eda,quarkus,kafka,kubernetes
 
Event Driven Architecture with Quarkus,Kafka and Kubernetes
Event Driven Architecture with Quarkus,Kafka and KubernetesEvent Driven Architecture with Quarkus,Kafka and Kubernetes
Event Driven Architecture with Quarkus,Kafka and Kubernetes
 
Kubernetes (and OpenShift) for developers
Kubernetes (and OpenShift) for developersKubernetes (and OpenShift) for developers
Kubernetes (and OpenShift) for developers
 
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day Dallas
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day DallasSupersonic, Subatomic, Kubernetes Native Java : Microservices Day Dallas
Supersonic, Subatomic, Kubernetes Native Java : Microservices Day Dallas
 
Supersonic, Subatomic, Kubernetes native java
Supersonic, Subatomic, Kubernetes native javaSupersonic, Subatomic, Kubernetes native java
Supersonic, Subatomic, Kubernetes native java
 
Serverless or Serverfull Microservices Day Phoenix
Serverless or Serverfull Microservices Day PhoenixServerless or Serverfull Microservices Day Phoenix
Serverless or Serverfull Microservices Day Phoenix
 
Agile integration workshop Atlanta
Agile integration workshop   AtlantaAgile integration workshop   Atlanta
Agile integration workshop Atlanta
 

Dernier

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonetsnaman860154
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slidevu2urc
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEarley Information Science
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 

Dernier (20)

Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
How to convert PDF to text with Nanonets
How to convert PDF to text with NanonetsHow to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
Neo4j - How KGs are shaping the future of Generative AI at AWS Summit London ...
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptxEIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
EIS-Webinar-Prompt-Knowledge-Eng-2024-04-08.pptx
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 

Get Reactive: Microservices, Programming, and Systems