Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Quarkus Insights 2023-03-06
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Julien Ponge
March 06, 2023
Programming
130
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Quarkus Insights 2023-03-06
Julien Ponge
March 06, 2023
More Decks by Julien Ponge
See All by Julien Ponge
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
64
Scalability and resilience in practice: current trends and opportunities
jponge
0
310
Eclipse Vert.x at BruJUG 2019
jponge
0
210
Du réactif au service du pneu connecté
jponge
0
400
Bringing Reactive to Enterprise Java Developers
jponge
0
350
Golo LyonJUG 2019
jponge
0
300
Vert.x Montreal JUG 2018
jponge
0
550
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
300
Démystifier le réactif et l'orchestration de services avec Vert.x, Kubernetes et Kotlin
jponge
0
290
Other Decks in Programming
See All in Programming
Vite+ Unified Toolchain for the Web
naokihaba
0
410
ローカルLLMを使ってB2Bサービスを作っていての学び
yaotti
0
230
AI がコードを書く時代における新卒エンジニアの仕事風景 (2026) / New Graduate Engineers in the Era of AI Coding (2026)
sushichan044
0
190
鹿野さんに聞く!『TypeScriptコードレシピ集』で磨く実践力
tonkotsuboy_com
4
970
dRuby over BLE
makicamel
2
400
Hunting Vulnerabilities in Symfony with LLMs
vinceamstoutz
0
570
TAKTでAI駆動開発の品質を設計する
j5ik2o
7
1.6k
SREの積み重ねがAI駆動開発のガードレールになった ― 7つの実践/SRE Guardrails The 7
tomoyakitaura
5
780
「AIで開発し、AIを届ける」をEvalでつなぐ 〜AIネイティブに始めるプロダクト開発の実践〜 / Connecting "Develop with AI, deliver AI" with Eval
rkaga
4
5.6k
Even G2とAWSで推しのエージェントを召喚しよう!
har1101
1
140
LLM本来の能力を解き放つサンドボックス技術とAI民主化への適用
yukukotani
3
4.8k
過去最大のMCPアップデート! 2026-07-28 RC版の謎に迫る
licux
6
430
Featured
See All Featured
No one is an island. Learnings from fostering a developers community.
thoeni
21
3.8k
How to make the Groovebox
asonas
2
2.3k
Future Trends and Review - Lecture 12 - Web Technologies (1019888BNR)
signer
PRO
0
3.6k
Git: the NoSQL Database
bkeepers
PRO
432
67k
From Legacy to Launchpad: Building Startup-Ready Communities
dugsong
0
240
Code Reviewing Like a Champion
maltzj
528
40k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.3k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
300
Fashionably flexible responsive web design (full day workshop)
malarkey
408
66k
New Earth Scene 8
popppiees
3
2.4k
Rails Girls Zürich Keynote
gr2m
96
14k
Building Experiences: Design Systems, User Experience, and Full Site Editing
marktimemedia
0
550
Transcript
java.util.stream.* java.util.concurrent.Flow.* 2 kinds of “stream” APIs Efficient in-memory data
stream processing Backpressured async I/O data stream processing
“Reactive Streams is an initiative to provide a standard for
asynchronous stream processing with non-blocking back pressure.” — https:/ /www.reactive-streams.org/ Mutiny! Photo by Arno Senoner on Unsplash
org.reactivestreams.* (Java 6 legacy) java.util.concurrent.Flow.* (since JDK 9) Back-pressured, asynchronous,
non-blocking (see Reactive Streams TCK) < your own library / client / driver / … > APIs Protocol User-facing APIs
return flux .filter(n -> n % 2 == 0) .map(n
-> "[" + n + "]") .flatMap(Database :: record) .retry(5); return multi .select().where(n -> n % 2 == 0) .onItem().transform(n -> "[" + n + "]") .onItem().transformToUniAndMerge(Database :: record) .onFailure() .retry() .withBackOff(Duration.ofSeconds(1)) .atMost(5); RxJava / Reactor Mutiny Functional dialect, fl at 100+ methods list Event-based dialect, group-based api
Ok, 4 interfaces. Must be easy, right? Publisher<T> Subscriber<T> Processor<T,U>
Subscription
None
None
None
None
None
Migrate to Flow Use adapters Strategies: from legacy to Flow
Support both APIs New APIs. Same TCK. Best for 3rd-party libraries that haven’t migrated yet. Virtually no-cost. Transition for user code: RESTEasy Reactive, Reactive Messaging, …
Mutiny Zero (44 Kilobytes JAR) RS <-> Flow Mutiny Zero
Adapters Vert.x -based stream publishers Mutiny Zero — minimal helper libraries to make publishers