Let's write fault-tolerant and type-safe workflows in Rust using Temporal
This is the follow-up of the original https://www.ekalavya.dev/lets-write-fault-tolerant-and-type-safe-workflows-in-rust-using-temporal/
As part of the work on Denote.dev, we recently started implementing an SDK for a Durable Execution framework called Temporal.
Temporal is a platform for building resilient and fault-tolerant applications.
As of this writing, it provides SDKs in multiple languages like TypeScript
and Go. There is an alpha-level Rust SDK for testing.
But as Denote.dev is implemented in Rust (for the core parts), we needed an SDK in Rust.
This is a series of blogs, videos, and content relating to open-sourcing this effort.
The ultimate goal is to contribute to the Temporal organization and coordinate with the developers and make it an officially supported SDK if possible.
Note: This is just an implementation of the existing proposal from the Temporal Developers
It's potentially going to be a long series of posts.
An ideal audience is Software Engineers/Developers with knowledge of Rust(Async) and Durable Execution concepts.
But, if time permits, we will try to make it more approachable to others as well.
The series below is dynamic and ongoing and will be adjusted as we proceed.
- [ ] What is Denote.dev?
- [ ] What is Temporal?
- [ ] Durable Execution and distributed and resilient application concepts
- [ ] Rust concepts primer for Durable Execution.
- [ ] Environment and development setup
- [ ] Temporal Concepts Overview
- [ ] Durable Promise design
- [ ] Temporal Rust SDK Overview
- [ ] Temporal Rust SDK API design
- [ ] Temporal Rust SDK Procedural Macros
- [ ] Implementation basics and crates
- [ ] Design and implementation of replay logger for Temporal Rust SDK
- [ ] Design and implementation of SDK metrics and tracing for Temporal Rust SDK
- [ ] Temporal Rust SDK Examples
- [ ] More later on...
Hop on for a technical educational journey...
The source code will be published here https://github.com/denote-dev/temporal-sdk-rust.
Note: This is an unofficial and experimental effort for now.