~/talk

Dynamically Serving a GraphQL API with Custom Types at Runtime

Talkat GraphQLConf 2024 · on Wednesday, 2024-09-11· at 11:40· Skyline B-C - Level 21· [graphql]
name:Emily Li
linkedin:emily-li-el2857
slides:none on file

Benchling builds a per-customer GraphQL graph at runtime using Strawberry by generating SDL, creating Python dataclasses with forward refs, and emitting resolvers; scale hits include 100 built-ins and customers with up to 5,000 types and 40,000 enum members. To fix slow introspection it caches the generated SDL to S3 with a hash key and background refreshes, achieving a ~50% cache hit and cutting introspection from >60s to <1s. Runtime requests generate a subgraph-per-request (dozens, not thousands of types) to keep queries under a second.

AI-written summary · about

  1. 0:00Introduction
  2. 0:23Benchling use case
  3. 7:49Existing GraphQL APIs
  4. 9:12GraphQL frameworks
  5. 10:16Dynamic graph generation
  6. 15:19Technical challenges
  7. 19:32Performance per request
  8. 21:40Q&A
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.