5 ms·
We use a mix of axum, and tonic/tower, depending on if the service is internal (grpc) or external (http). And no, we do not use an ORM like diesel, since we pr
by jhgg 4y ago
We use a mix of axum, and tonic/tower, depending on if the service is internal (grpc) or external (http).
And no, we do not use an ORM like diesel, since we primarily use ScyllaDB. We wrote our own - it's very nice. We have a fully type-safe scylla/cassandra client, that does static validation of the queries (which we define as annotated structs), and also, when the service starts up, it validates that the schema that the service has agrees with the schema the database has. Insofar a making sure that if you say `WHERE id = ?`, and you pass a i32 but it wanted a String, the service will not start.
It also does request coalescing and tracing/telemetry, and will soon do rate limiting, circuit breaking and speculative retries as well.
- PeterCorless 4y agoWould love to see how your ORM compares with Catalytic, the Rust ORM for ScyllaDB. https://www.scylladb.com/2022/02/15/introducing-catalytic-an-orm-designed-for-scylladb-and-cassandra-written-in-rust/ https://www.scylladb.com/2022/02/15/introducing-catalytic-an...
- arunc 4y ago> We have a fully type-safe scylla/cassandra client, that does static validation of the queries Is this on a crate by any chance? Thanks