Coder Social home page Coder Social logo

n4r35h / resonate Goto Github PK

View Code? Open in Web Editor NEW

This project forked from resonatehq/resonate

0.0 0.0 0.0 1.23 MB

a dead simple programming model for the cloud

Home Page: https://www.resonatehq.io

License: Apache License 2.0

Shell 0.12% Ruby 0.11% Go 98.68% Nix 0.79% Makefile 0.25% Dockerfile 0.04%

resonate's Introduction

Resonate

ci dst Go Report Card License

Docs   •   Twitter   •   Slack   •   Issues   •   Roadmap

Distributed Async Await

Resonate's Distributed Async Await is a new programming model that simplifies coding for the cloud. It ensures code completion even if hardware or software failures occur during execution. The programming model does this with just functions and promises, making it trivial to build coordinated and reliable distributed applications.

Why Resonate?

  • Cloud Computing Made Dead Simple: Resonate simplifies coding for the cloud using an intuitive paradigm you already know — async await.

  • Single Binary: Resonate simplifies your deployment and operations with a single binary.

  • Incremental Adoption and No Vendor Lock-In: Resonate was designed to allow for incremental adoption without vendor lock-in ever.

  • Built on an Open Standard: Resonate's programming model is built on top of durable promises, an open standard with an intentionally minimal API surface area.

Getting Started

  1. Start building in just 30 seconds with our quickstart guide!
  2. Grasp the 4 core concepts of distributed async/await applications by delving into our concepts page.
  3. Dive into the Resonate Server docs and learn how to configure, deploy, and more.

SDKs

Resonate provides client SDKs for different programming languages to easily interact with the Resonate server and write elegant distributed async await applications. More are coming soon!

Type Language Source Code Package
TS SDK TS SDK https://github.com/resonatehq/resonate-sdk-ts NPM

Core Features

The basic features Resonate offers to simplify the reliability and coordination of distributed processes are the following:

  • Retries: If a process fails while executing a durable promise due to a transient issue, such as network connectivity problems, it can be transparently retried, minimizing the impact of temporary failures.

  • Recoverability: If a process crashes while executing a durable promise, it can recover and continue from where it left off, ensuring your application remains resilient.

  • Schedules: Durable promises can be used to schedule stateful reminders using a simple HTTP/gRPC call.

  • Task Framework: Durable promises allow you to fan out tasks across multiple processes or machines, enabling parallel execution and load balancing, making your application more scalable.

  • Notifications: When a durable promise is created or completed, it can trigger notifications to other processes or services that are interested in the result, enabling efficient communication and coordination.

  • Human in the Loop: Durable promises can seamlessly integrate human input into your automated workflows, allowing for manual intervention or approval steps when needed.

Contributing

See our contribution guidelines.

License

The Resonate Server is available under the Apache 2.0 License.

resonate's People

Contributors

dfarr avatar guergabo avatar dependabot[bot] avatar vaibhawvipul avatar lucperkins avatar dreamjz avatar dtornow avatar n4r35h avatar favalos avatar zeu5 avatar yordis avatar huesflash avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.