Who's using Async-graphql in production?
If your company is using Async-graphql in production, please let me know who are you so I can mention you in the README.
I'll start: We're using async-graphql to power the API in Vector. We have two clients connecting to it:
-
top, our CLI tool for observing event activity across all components. - An upcoming UI dashboard, built in Typescript, React + Urql.
I wrote a blog post about it here, although there are some updates required to that post to pick up the latest schema changes.
Things that have been particularly awesome:
- The code-first approach for writing schema. In a previous project, we used a Go GraphQL library, which required writing everything in SDL and building resolvers around it. Being able to keep everything in Rust has been awesome.
- Minimal boilerplate. Being able to drop in a few annotations around methods and parameters and get a fully working GraphQL API is perfect!
- Relay connections. It was trivial to add pagination support to our queries, which has proven very useful when dealing with very large data sets. I love how this interface was designed - it was easy to come up with a cursor format that works well for our records, and the helpers async-graphql offers make it simple to roll out to everywhere we need pagination support.
- Websockets + subscriptions. These are the backbone of exposing real-time metrics (and after https://github.com/timberio/vector/pull/6363, events). It's so nice being able to return an
impl Stream<Item = T>and it just work. - Above all, the incredible support we've received from @sunli829 personally when we ran into issues, or had feature requests. I don't think we've ever seen an issue go more than a few hours without being resolved. A million thanks 👍
I'm very excited by this project and where it'll go next. Thanks for making our lives (and my life in particular) easier!
While not on production yet, here is a simplified version of a future production app slimmed down for a meetup.
The goal was to make a presentation for Rust Lang Los Angeles which uses SQLx, PostGreSQL, Actix and async-graphql: https://github.com/camsjams/rust-actix-graphql-sqlx-postgresql
This showcases
- Federation with async-graphql
- Federation using Actix
- Database usage via PostGreSQL and SQLx
- Seamless UUID juggling between GraphQL and PostGreSQL
- Chrono for timestamps
Thanks @sunli829 awesome library!
Not in production yet, but close. A very simple and small service talking to a redis cluster is in the works. A great library, thank you!
Still a work in progress, I'm working on a website to catalogue and describe scuba diving sites.
The stack is as follows:
Backend:
- Actix Web
- Tokio Postgres
- Async-graphql
Frontend:
- React
- Apollo
We're using it at Kairos Sports tech, using it in combination with graphql mesh to move some parts of an existing ruby on rails grahpql API. Not in production yet but will be in the next few weeks
At AxieInfinity, we are using Async-graphql on production sites.
Our GraphQL back-end serves multiple query sources:
- Axie Marketplace
- Game servers
- Community dev sites
The story of mine back into the middle of 2020, while we were migrating our GraphQL to Rust. There are only 2 options at the time, and I decided to move with async-graphql, that can work well with Search Engine async libs (Elasticsearch) and can integrate with Apollo Federation gateway.
Until now, we're still following Async-graphql development progress, and just update to the latest version recently. Thank you for your effort and time @sunli829 .
We use it at Nando's for our capacity management services, both client and cluster side, clients can request restaurant capacity times which is a GQL call. In cluster, the capacity tracker listens to a confirmed orders subscription, does some validation, then calls the record order mutation in another service, which will then adjust the capacity accordingly :)
Sweet, I love my chicken with a side of GraphQL 😄 Love these kind of infrastructure insights -- thanks for sharing!
(P.S @nandos -- If there's a GraphQL mutation for requestBlackCard, I'll happily test that for you 😉 )
(P.S @nandos -- If there's a GraphQL mutation for
requestBlackCard, I'll happily test that for you 😉 )
🤫

Haha, that's great @nandos... now if you could just fwd over the endpoint URL and create an Okta login profile for me, I think our work here is done 😄
We are using it at Prima.it and we have a couple of microservices actually running in production
We're using async-graphql and graphgate in production at Zenly.
It's powering a simple view of all the available data across the services, we are using it for months 🙂
No issue so far, +200k/s with a p999 under 50 ms, thank you @sunli829 😉
It's not a company, but wanted to highlight that I use it in two projects that are getting started.
- entity-rs via entity-async-graphql integration
- vimwiki-rs via vimwiki-server, a binary that serves vimwiki document elements over graphql (graphql query/mutation objects and graphql data structures)
I just released version 0.1.0 of the vimwiki crates with an end goal of rolling out a note-taking service backed by GraphQL queries via https://vimwiki.app. Entity crates are slowly improving, including providing generated filters to use when querying data like this:
#[gql_ent]
pub struct Paragraph {
/// The segment of the document this paragraph covers
#[ent(field(graphql(filter_untyped)))]
region: Region,
/// The content within the paragraph as individual elements
#[ent(edge(policy = "deep", wrap, graphql(filter_untyped)))]
contents: Vec<InlineElement>,
/// The content within the paragraph as it would be read by humans
/// without frills
#[ent(field(computed = "self.to_string()"))]
text: String,
/// The page containing this paragraph
#[ent(edge)]
page: Page,
/// The parent element containing this paragraph
#[ent(edge(policy = "shallow", wrap, graphql(filter_untyped)))]
parent: Option<Element>,
}
I'm using async-graphql for my side project (will become production soon). Switch from Flask/Python. So far so good.
Not a company, but I made an open-source wrapper around async-graphql called Diana (no relation to the Julia one!) that connects a serverless queries/mutations system with a serverful subscriptions system. Couldn't have done it without this, it's a fantastic project you've got here!
I'm using it at Brevz! it's really an awesome crates to use, incredible project!
We use it at Nando's for our capacity management services, both client and cluster side, clients can request restaurant capacity times which is a GQL call. In cluster, the capacity tracker listens to a confirmed orders subscription, does some validation, then calls the record order mutation in another service, which will then adjust the capacity accordingly :)
oh nice my fav chicken restaurant uses rust. Now I have even more respect for you guys.
We're now running async-graphql in production @ thorndyke hosted off an AWS Lambda function. A ground up rewrite from a previous TypeScript implementation with significantly better performance and developer experience.
Although not running a company, I have been using async-graphql on my hobby website (Github), a forum on lateral thinking puzzles. The website has been running stably without any crash since a year ago when I migrated the backend to rust. Subscription is really a thing to me and your project is the first to get it implemented in rust. Thank you for your work!
We're using async-graphql at Grafbase (https://grafbase.com). Grafbase is a data platform for developers that enables you to deploy globally fast apps in seconds.
At futuREproof, we use async-graphql to extend Hasura's graphql-engine with custom functionality. This is in production and works great!
In addition, we use async-graphql extensively to mock other graphQL api's in the tests of the above graphQL extensions (but the test code itself is obviously not 'in production').
Most of the back-end services in our company Biznet Gio Nusantara uses Async-GraphQL.
However most of them are not public https://github.com/BiznetGIO.
Not a company, nor in production, probably not even a good use of this library, but this is a Rust full-stack study which involves async-graphql: https://github.com/rongcuid/gqlforum-rs
I won't say this is the best way to use the library, as I was exploring in the process.
This issue is stale because it has been open 30 days with no activity. Remove stale label or comment or this will be closed in 5 days.
Disable stale bot here.
Disable stale bot here.
This robot is not smart enough.😂
https://www.plan3.aero Has a large (around 80k lines with everything included like tests and more) GraphQL API that started as a Juniper project but was fully migrated to async-graphql around a year ago
@sunli829 I think this non-actionable issue should be moved under discussion.