Durable Execution Engines (e.g. Restate, Temporal) simplify writing resilient applications. These engines track code execution across services and time. They use this information to drive retries and recovery, and to ensure that code always runs till completion. Services that have Durable Execution enabled, can recover themselves to the exact point they were before the failure. As a result, this approach simplifies building resilient applications by providing durable building blocks: communication, execution, and state.
In this lab, we will write an e-commerce back-end with Durable Execution. We will track the content of the shopping cart of the user, make sure the payment happens exactly once, and interact with the other services of the application to get the order delivered. The application will be written in Java and use Restate as Durable Execution Engine.
Giselle van Dongen
Restate
Giselle is a Developer Advocate at Restate, where she helps its early users with understanding how Restate simplifies the development of resilient and scalable distributed apps. Before that, she worked in the field of big data analytics and distributed stream processing, and obtained a PhD on this topic at Ghent University.