0:00 / 0:00
#kotlincoroutines#asynchronousprogramming#backend
Server-side Kotlin with Coroutines • Roman Elizarov • GOTO 2019
GOTO Conferences
1M subscribers • 95 videos on Hallway • Conference channel
- Recommended by 1 person: 1 in engineering communities.
- Presented by Roman Elizarov, Kotlin Libraries Team Lead at JetBrains
Intermediate. Assumes working knowledge.
19K views7 years ago1 recommendation
Programming languagesDistributed systemsKotlinConcurrency and parallelismSoftware architecture
Roman Elizarov discusses the scalability limits of thread-based architectures and how Kotlin coroutines provide a lightweight, asynchronous alternative.
This presentation was recorded at GOTO Chicago 2019. #gotocon #gotochgo gotochgo.com Roman Elizarov - Kotlin Libraries Team Lead at JetBrains ABSTRACT Kotlin was designed as a general-purpose programming language and with coroutines writing server-side code is a easy as never before on JVM. We'll dissect scalability and reliability problems of a traditional thread-based stacks and discuss the process of mitigating those issues by introducing asynchrony with Kotlin coroutines. We'll see how coroutine-based design naturally avoids common pitfalls of traditional asynchronous programming such as resource management, error handling and request cancellation, producing safe [...] TIMCODES Introduction Old-school client-server monolith Sizing threads - easy Complex business logic What if a service is slow? Blocks threads Release the thread Suspend behind the scenes Performance! Integration Release thread? Blocking server Asynchronous server Server integrated with coroutines Server not integrated with coroutines Suspend is efficient Let's go deeper (with coroutines) Call stack with coroutines Thread pools CPU-bound code Fine-grained control and encapsulation Concurrency with async (futures) Concurrency with coroutines Without coroutine scope? Convention Types as documentation Types are enforced Green threads / Fibers Fibers promise Solution - shared thread pool Returning many responses Where's the catch? Flow example Download slides and read the full abstract here: gotochgo.com/2019/sessions/827 bsky.app/profile/gotocon.com twitter.com/GOTOcon linkedin.com/company/goto- instagram.com/goto_con facebook.com/GOTOConferences #kotlin #programming #ProgrammingLanguages CHANNEL MEMBERSHIP BONUS Join this channel to get early access to videos & other perks: youtube.com/channel/UCs_tLP3AiwYKwdUHpltJPuA/join Looking for a unique learning experience? Attend the next GOTO conference near you! Get your ticket at gotopia.tech Sign up for updates and specials at gotopia.tech/newsletter SUBSCRIBE TO OUR CHANNEL - new videos posted almost daily. youtube.com/user/GotoConferences/?sub_confirmation=1