Restate é uma plataforma de execução durável projetada para lidar com desafios complexos de sistemas distribuídos na construção de aplicações stateful e tolerantes a falhas. Ela registra cada passo por meio de journaling de execução, garantindo tolerância a falhas, recuperação confiável e comunicação exactly-once entre os serviços. A principal vantagem arquitetônica da plataforma reside na separação da lógica da aplicação em três tipos de serviços duráveis: Serviços Básicos para funções stateless; Objetos Virtuais para modelar entidades concorrentes e stateful; e Workflows para orquestrar processos complexos e de múltiplos passos. Temos avaliado cuidadosamente o Restate em um grande sistema de seguros e estamos bastante satisfeitas com sua performance até agora.
Restate é uma plataforma de execução durável, similar ao Temporal, desenvolvida pelas criadoras originais do Apache Flink. Em termos de funcionalidades, oferece workflows como código, processamento de eventos com estado, o padrão saga e máquinas de estado duráveis. Escrito em Rust e implantado como um único binário, ele usa um log distribuído para registrar eventos, implementado com um algoritmo de consenso virtual baseado no Flexible Paxos; isso garante durabilidade em caso de falha de nó. Há kits de desenvolvimento de software (SDKs) disponíveis para as linguagens mais comuns: Java, Go, Rust e TypeScript. Ainda recomendamos evitar transações distribuídas em sistemas distribuídos, devido à complexidade adicional e ao inevitável aumento da sobrecarga operacional. No entanto, se você não puder evitá-las no seu ambiente, vale a pena avaliar esta plataforma.