Skip to content

Commit

Permalink
chore: update quickstart (#1905)
Browse files Browse the repository at this point in the history
<!-- Please make sure there is an issue that this PR is correlated to. -->

## Changes

<!-- If there are frontend changes, please include screenshots. -->
  • Loading branch information
NicholasKissel committed Jan 22, 2025
1 parent 5ea3608 commit 6856eda
Showing 1 changed file with 6 additions and 5 deletions.
11 changes: 6 additions & 5 deletions site/src/content/docs/index.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,26 @@ import { Card as MyCard } from '@/components/Card';

# Welcome to Rivet

Rivet is a powerful platform for building real-time applications. At the core of Rivet are Actors, with built-in support for remote procedure calls, state, events, and edge networking.
Rivet is the platform to build realtime, edge, or agent applications that is scalable, stateful, and serverless. Build without the limitations of Redis or timeouts of Lambda. At its core, Rivet provides a primitive -- Actors. Rivet Actors are built with built-in support for remote procedure calls, state, events, and edge networking.

## Why use Rivet Actors?

Rivet Actors offer several compelling advantages for building real-time applications:
Rivet Actors offer several compelling advantages for building applications that require realtime, stateful, or agent functionality:

- **Enhanced Performance**: By integrating compute (i.e., "RPC") with data (i.e., "state"), performance is significantly improved.
- **Simplified Architecture**: Replace complex infrastructure (e.g., caches, queues, pub/sub) with actors for a more straightforward architecture.
- **Built-in Fault Tolerance**: Actors provide natural fault tolerance as state is durable and failures do not cascade.
- **Reduced Latency**: Achieve lower latency for users by running at the edge and combining compute with data.

## Core primitives
## Core Features

- [**Remote Procedure Call**](/docs/rpc) (RPC) is how clients communicate with actors and how actors communicate with each other.
- [**State**](/docs/state) is the data belonging to each actor. State cannot be shared between actors. State is stored in memory (unless it's too large) for fast reads and writes. State is durable and will always survive a crash or upgrade. You can update state without having to do anything special.
- [**Events**](/docs/events) are used for real-time communication between clients and actors. Clients can subscribe to events with `actor.on("myEvent")`, and actors can publish events with `this._broadcast("myEvent")` or `connection.send("myEvent")`.
- [**Connections**](/docs/connections) represent a client that's currently connected to the actor. Connections have their own state, e.g., `userId`. You can use `onConnect` to authenticate connections before they can communicate with the actor.

To read more about architecting actors for scale, see [here](/docs/scaling).
- [**Edge Networking**](/docs/edge): Automatically distribute your applications near your users for ultra-low latency.
- [**Fault Tolerance**](/docs/fault-tolerance): Ensure application & state resilience through crashes with zero downtime.
- [**Runs Forever, Sleeps When Idle**](/docs/lifecycle): Always available, sleeps on network inactivity or timeouts, and wakes instantly on demand.

## Get Started

Expand Down

0 comments on commit 6856eda

Please sign in to comment.