From 8eafefac6be68c1ce9efe7907f287b982a296c52 Mon Sep 17 00:00:00 2001 From: Achille Roussel Date: Fri, 31 May 2024 10:55:54 -0700 Subject: [PATCH 1/2] README: update project description Signed-off-by: Achille Roussel --- README.md | 30 ++++++++++++++++++------------ 1 file changed, 18 insertions(+), 12 deletions(-) diff --git a/README.md b/README.md index 54f1192..cbe53cf 100644 --- a/README.md +++ b/README.md @@ -10,8 +10,7 @@ [![Build](https://github.com/dispatchrun/dispatch-proto/actions/workflows/buf.yml/badge.svg)](https://github.com/dispatchrun/dispatch-proto/actions/workflows/buf.yml) [![Docs](https://img.shields.io/badge/API-reference-lightblue.svg)](https://buf.build/stealthrocket/dispatch-proto/docs/main:dispatch.sdk.v1) -This module contains the protobuf definitions to integrate with the Dispatch -platform. +This module contains the protobuf definitions to integrate with Dispatch. [connectrpc]: https://connectrpc.com/ [grpc]: https://grpc.io/ @@ -29,11 +28,19 @@ platform. ## What is Dispatch? -Dispatch is a platform to develop reliable distributed systems. Dispatch -provides a simple programming model based on durable coroutines to manage the -scheduling of function calls across a fleet of service instances. Orchestration -of function calls is managed by Dispatch, providing **fair scheduling**, -transparent **retry of failed operations**, and **durability**. +Dispatch is a cloud service for developing scalable and reliable applications, +including: + +- **Event-Driven Architectures** +- **Background Jobs** +- **Transactional Workflows** +- **Multi-Tenant Data Pipelines** + +Dispatch differs from alternative solutions by allowing developers top write +simple Python code as if it was a local application: it has a **minimal API +footprint**, which usually only requires using a function decorator (no complex +framework to learn), failure recovery is built-in by default for transient +errors like rate limits or timeouts, with a **zero-configuration** model. To interact with the Dispatch scheduler, the client SDK uses this module to generate [connectrpc][connectrpc] or [gRPC][grpc] clients and servers. @@ -53,9 +60,8 @@ To obtain an API key, follow the instructions to [sign up for Dispatch][signup] ## Dispatching Calls to Functions -The dispatch service is the frontend to the platform. Clients can submit calls -to functions implemented in their application, using the -[`dispatch.sdk.v1.DispatchService/Dispatch`][rpc-dispatch] method. +Clients can submit calls to functions implemented in their application, using +the [`dispatch.sdk.v1.DispatchService/Dispatch`][rpc-dispatch] method. The request contains the list of calls that will be performed asynchronously by the scheduler. @@ -71,8 +77,8 @@ The scheduler will make the function calls that were submitted via the API. ### Verification of Function Calls When calling functions, requests are signed using asymmetric key pairs. The private -key is stored on the Dispatch platform, and the server uses the private key to -verify the signature of requests it receives. +key is stored by Dispatch, and the server uses the private key to verify the +signature of requests it receives. The signature mechanism uses the [HTTP Signatures IETF Draft][http-signatures], with the following signing fields: From 3a9776c44362c29e7ea7114aca2a900e784525fd Mon Sep 17 00:00:00 2001 From: Achille Roussel Date: Fri, 31 May 2024 13:12:18 -0700 Subject: [PATCH 2/2] simplify wording Signed-off-by: Achille Roussel --- README.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cbe53cf..6aa247d 100644 --- a/README.md +++ b/README.md @@ -37,10 +37,10 @@ including: - **Multi-Tenant Data Pipelines** Dispatch differs from alternative solutions by allowing developers top write -simple Python code as if it was a local application: it has a **minimal API -footprint**, which usually only requires using a function decorator (no complex -framework to learn), failure recovery is built-in by default for transient -errors like rate limits or timeouts, with a **zero-configuration** model. +simple Python code: it has a **minimal API footprint**, which usually only +requires using a function decorator (no complex framework to learn), failure +recovery is built-in by default for transient errors like rate limits or +timeouts, with a **zero-configuration** model. To interact with the Dispatch scheduler, the client SDK uses this module to generate [connectrpc][connectrpc] or [gRPC][grpc] clients and servers.