Stateful Functions: Polyglot Event-Driven Functions for Stateful Distributed Applications
summary
Stateful Functions 2.0 on Apache Flink exposes an API and runtime that runs function instances as virtual keys, uses Flink’s consistent checkpointing to provide exactly-once semantics, and invokes external language services over an HTTP request/reply protocol with Protobuf Any payloads. Demo wires a Java inventory and Python shopping-cart (AWS Lambda behind API Gateway) using Kinesis for ingress/egress, shows zero downtime upgrades and survives worker restarts, proving consistent state and fault tolerance in practice.
AI-written summary · about
chapters (23)
- 0:00Intro
- 1:27What is Stateful Functions?
- 6:27Embedded v.s. Remote
- 8:56Java SDK: Stateful Functions
- 10:59Java SDK: Persisted State
- 12:32Java SDK: Defining Modules
- 13:55Java SDK: Ingresses / Egresses
- 15:22Types in Remote Functions
- 17:38Python SDK: Stateful Functions
- 18:39Python SDK: Persisted State
- 19:21Python SDK: Exposing Functions
- 20:39Defining Remote Modules
- 22:24Wiring it all together: Packaging Apps
- 23:28Packaging an Application Image
- 24:16Deploying the Application
- 25:39Scenario: Shopping Cart
- 28:02Deployment Overview
- 40:25Key Runtime Characteristics
- 41:01Underlying Flink Stream Graph
- 44:46Function Dispatcher Operator
- 49:01Message routing / state access via Flink
- 50:20What's up ahead?
- 53:57Resources
related talks
24mStateful Functions: Flexible like a Microservice, Consistent like a Monolith
34mHands-on Stateful Serverless Applications with Kubernetes and Stateful Functions
27mStateful Functions 3.0: Towards a Cross-Platform Stateful Serverless Stack
42mInterview and AMA with the creators of Stateful Functions
38mDeploying Stateful FaaS on Streaming Dataflows
43mStream Processing and Applications in the Modern Age
38mPolyglot Actor Model on Flink Stateful Functions
36mPaper Moon: A Comparison of Stateful Functions and Pulsar Functions
