~/talk

When stateless APIs are not enough: deep dive into a reactive backend design

Talkat ScalaIO 2022 · 2022-10-27..10-28· [frontend-architecture, web-platform]
name:L. Duzan
links:none on file
links:none on file
slides:none on file

Argues for a stateful reactive backend built with ZStream and mapAccumZIO that models a finite state machine to merge frontend commands and Kafka responses into one loop, track pending requests, and push incremental rows over SSE/WebSocket so data appears as available rather than waiting for the slowest piece. Shows concrete mapping of Kafka calls, per-connection state kept while socket is open, cancellation and coarse-grain requests, claims this reduces latency vs all-at-once GraphQL and avoids polling while keeping maintainable code.

AI-written summary · about

  1. 0:00Introduction
  2. 2:29Conductor and Kafka context
  3. 6:02Problem with single-request APIs
  4. 8:10Streaming APIs for UX
  5. 9:17Integrating streams in Tapir
  6. 11:53Need for stateful backend
  7. 13:22Stateful backend with WebSocket
  8. 15:31MapAccum operator
  9. 18:49Main loop execution
  10. 20:53When not to stream
  11. 21:36Key takeaways
  12. 23:28Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.