Stateful Functions: Flexible like a Microservice, Consistent like a Monolith

preview_player
Показать описание
Microservice architectures have taken the world by storm, allowing teams to develop, deploy, and manage components independently. Modern infrastructure has accelerated this trend as tools like Kubernetes and AWS Lambda make it easier than ever to deploy multiple services. However, organizations have found this flexibility comes at a cost; it is difficult to reason about correctness and consistency.
Stateful Functions is the newest addition to Apache Flink. It brings broad support for building event-driven applications by bridging the monolith/microservice divide. As a result, organizations no longer have to sacrifice flexibility for correctness by using an SDK that allows developers to build and maintain components independently, with a runtime that provides consistency between services automatically. This talk introduces Stateful Functions, explores core concepts, and shows how it simplifies common operational challenges through real-world examples of event-driven applications.
Рекомендации по теме
Комментарии
Автор

If you have multiple fraud-counter http servers or multiple merchant-scorer http servers running (for high-availability), does the storage synced across those servers? If so, how does the syncing works?

yehezkielsyamsuhadi
Автор

Hi, that's really interesting! I have 2 questions:
How do you handle race conditions? In the example, if the counter and merchant functons respond at the same time, they could both think they're the first to answer and we end up with both in cache but not sent to the model, or does the context run one message at a time guarantied, like in Akka?
How do you handle resilience? THe 30 days delay on a message is a great feature made simple here, but let say the app dies, and is rebooted, is it going to be lost? Is there a sync to something like S3 for the state?

ZarAthran
Автор

Would you like to place the demo "Fraud Detection" code repository url here? Thanks!

陈帅-xj