Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Who's using Async-graphql in production? #408

Open
sunli829 opened this issue Feb 7, 2021 · 30 comments
Open

Who's using Async-graphql in production? #408

sunli829 opened this issue Feb 7, 2021 · 30 comments

Comments

@sunli829
Copy link
Collaborator

sunli829 commented Feb 7, 2021

If your company is using Async-graphql in production, please let me know who are you so I can mention you in the README.

@sunli829 sunli829 pinned this issue Feb 7, 2021
@leebenson
Copy link
Contributor

leebenson commented Feb 10, 2021

I'll start: We're using async-graphql to power the API in Vector. We have two clients connecting to it:

  1. top, our CLI tool for observing event activity across all components.
  2. 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 enhancement(observability): Initial API for tap vectordotdev/vector#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!

@camsjams
Copy link

camsjams commented Feb 10, 2021

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!

@argl
Copy link

argl commented Feb 16, 2021

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!

@cetra3
Copy link

cetra3 commented Feb 18, 2021

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

@dhendrie91
Copy link

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

@sunli829 sunli829 unpinned this issue Feb 28, 2021
@sunli829 sunli829 pinned this issue Feb 28, 2021
@phuocthanhdo
Copy link

phuocthanhdo commented Feb 28, 2021

At AxieInfinity, we are using Async-graphql on production sites.

Our GraphQL back-end serves multiple query sources:

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 .

@holbewoner
Copy link

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 :)

@leebenson
Copy link
Contributor

Sweet, I love my chicken with a side of GraphQL 😄 Love these kind of infrastructure insights -- thanks for sharing!

@leebenson
Copy link
Contributor

(P.S @nandos -- If there's a GraphQL mutation for requestBlackCard, I'll happily test that for you 😉 )

@holbewoner
Copy link

(P.S @nandos -- If there's a GraphQL mutation for requestBlackCard, I'll happily test that for you 😉 )

🤫

image

@leebenson
Copy link
Contributor

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 😄

@cottinisimone
Copy link

We are using it at Prima.it and we have a couple of microservices actually running in production

@mwilliammyers
Copy link
Contributor

mwilliammyers commented Apr 24, 2021

We use it in production at Voxjar for our entire API.

@QuentinPerez
Copy link
Contributor

QuentinPerez commented May 2, 2021

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 😉

@chipsenkbeil
Copy link
Contributor

chipsenkbeil commented Jun 8, 2021

It's not a company, but wanted to highlight that I use it in two projects that are getting started.

  1. entity-rs via entity-async-graphql integration
  2. 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>,
}

image

@cptrodgers
Copy link
Contributor

cptrodgers commented Jul 8, 2021

I'm using async-graphql for my side project (will become production soon).
Switch from Flask/Python. So far so good.

@arctic-hen7
Copy link

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!

@Miaxos
Copy link
Member

Miaxos commented Jul 21, 2021

I'm using it at Brevz! it's really an awesome crates to use, incredible project!

@Suyashtnt
Copy link

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.

@oeed
Copy link
Contributor

oeed commented Sep 6, 2021

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.

@heyrict
Copy link

heyrict commented Sep 15, 2021

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!

@fbjork
Copy link

fbjork commented Dec 10, 2021

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.

@bverhagen
Copy link

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').

@azzamsa
Copy link
Contributor

azzamsa commented Jul 22, 2022

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.

@rongcuid
Copy link

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.

@github-actions
Copy link

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.

@github-actions github-actions bot added the Stale label Sep 27, 2022
@frederikhors
Copy link
Contributor

Disable stale bot here.

@sunli829 sunli829 removed the Stale label Sep 27, 2022
@sunli829
Copy link
Collaborator Author

Disable stale bot here.

This robot is not smart enough.😂

@arnarthor
Copy link

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

@azzamsa
Copy link
Contributor

azzamsa commented Dec 8, 2022

@sunli829 I think this non-actionable issue should be moved under discussion.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests