<!-- mobian-agent-page publisher="dailydev" canonical="https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn" -->

---
title: From Ruby Monolith to Federation: How Reverb Runs...
description: Reverb, an online marketplace for musical instruments, migrated a decade-old schema-merging GraphQL stack to a federated supergraph using Hive Gateway, moving...
canonical: https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn
twitter:card: summary_large_image
twitter:site: @dailydotdev
og:type: website
og:site_name: daily.dev
og:title: From Ruby Monolith to Federation: How Reverb Runs GraphQL with Hive | daily.dev
og:description: Reverb, an online marketplace for musical instruments, migrated a decade-old schema-merging GraphQL stack to a federated supergraph using Hive Gateway, moving...
og:url: https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn
og:image: https://api.daily.dev/og/posts/bfHAxcmmN.png
og:image:alt: From Ruby Monolith to Federation: How Reverb Runs GraphQL with Hive
og:image:width: 1200
og:image:height: 630
og:locale: en
---

> ## Documentation Index
> Fetch the complete documentation index at: https://daily.dev/llms.txt
> Use this file to discover all available pages before exploring further.

# From Ruby Monolith to Federation: How Reverb Runs GraphQL with Hive

**[The Guild](https://daily.dev/sources/guild)** · 8 min read · 0 upvotes · 0 comments

## Summary

Reverb, an online marketplace for musical instruments, migrated a decade-old schema-merging GraphQL stack to a federated supergraph using Hive Gateway, moving traffic query by query with zero client disruption. The team built CoreQL on their Rails monolith with GraphQL Ruby, composed subgraphs (SearchRemixer, RQL, CoreQL) via mesh-compose, and assembled a schema registry pipeline from The Guild's open source tools including GraphQL Inspector and GraphQL Code Generator. After upgrading to Hive Gateway v2, they measured 30% lower CPU usage, 20-30% faster p90/p95 latency, at the cost of ~30% higher memory usage.

## Full article

daily.dev links to this article rather than hosting it. Read it at the original source: <https://the-guild.dev/graphql/hive/case-studies/reverb>

## Questions this post answers

### What performance improvements can you expect from upgrading to Hive Gateway v2?

Upgrading to Hive Gateway v2 in production yielded 30% lower median CPU usage, 20% faster p90 latency, and 30% faster p95 latency, based on 30 days of Datadog data after Reverb's upgrade. The trade-off was roughly 30% higher memory usage, which the team considered acceptable. The gateway itself accounted for only 10-15% of total request time in APM waterfalls.

_See how other teams track gateway performance trade-offs like this one on daily.dev before rolling out a v2 upgrade._

### How can you migrate a GraphQL monolith to federation without breaking existing clients?

Reverb migrated incrementally by placing a federation gateway in front of both its legacy Node.js schema-merging server and a new GraphQL Ruby server built directly on its Rails monolith, routing each query by operation name to whichever backend had been onboarded, while holding strict schema parity so web, iOS, and Android clients never noticed the switch.

_Developers planning a similar phased migration follow real-world case studies like this on daily.dev._

### What open source tools can you use to build a GraphQL schema registry pipeline without a paid platform?

A self-built schema registry pipeline can combine mesh-compose for supergraph composition, GraphQL Inspector for breaking-change detection against real client operations, and GraphQL Code Generator for client type generation, all triggered through GitHub Actions on every subgraph pull request and merge, as demonstrated in Reverb's GitOps setup with ephemeral sandbox environments.

_Teams evaluating open source GraphQL tooling stacks compare setups like this one on daily.dev._

## Similar posts on daily.dev

- [From API Chaos to Collaborative Graph](https://daily.dev/posts/from-api-chaos-to-collaborative-graph-qnazszda5) · monday Engineering · 37 upvotes · 0 comments
- [GraphQL Federation Schema Changes: From Months to Days with Hub](https://daily.dev/posts/graphql-federation-schema-changes-from-months-to-days-with-hub-oxt0jels3) · WunderGraph · 0 upvotes · 0 comments

---

Tags: [#ruby](https://daily.dev/tags/ruby), [#microservices](https://daily.dev/tags/microservices), [#graphql](https://daily.dev/tags/graphql)

[View this post on daily.dev](https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn)

```json
{"@context":"https://schema.org","@graph":[{"@type":"Organization","@id":"https://daily.dev/#organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180},"sameAs":["https://twitter.com/dailydotdev","https://github.com/dailydotdev","https://www.linkedin.com/company/daily-dev-ltd"]},{"@type":"WebSite","@id":"https://daily.dev/#website","url":"https://daily.dev","name":"daily.dev","publisher":{"@id":"https://daily.dev/#organization"},"potentialAction":{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https://daily.dev/search?q={search_term_string}"},"query-input":"required name=search_term_string"}}]}
{"@context":"https://schema.org","@type":"TechArticle","headline":"From Ruby Monolith to Federation: How Reverb Runs GraphQL with Hive","url":"https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn","mainEntityOfPage":{"@type":"WebPage","@id":"https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn"},"datePublished":"2026-09-01T12:18:50.112Z","dateModified":"2026-09-01T12:19:16.693Z","description":"Reverb, an online marketplace for musical instruments, migrated a decade-old schema-merging GraphQL stack to a federated supergraph using Hive Gateway, moving...","image":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bedd0582f3aee40fabe5fbd04bb120a?_a=AQAEuop","thumbnailUrl":"https://media.daily.dev/image/upload/f_auto,q_auto/v1/posts/4bedd0582f3aee40fabe5fbd04bb120a?_a=AQAEuop","isAccessibleForFree":true,"articleSection":"The Guild","inLanguage":"en","publisher":{"@type":"Organization","name":"daily.dev","url":"https://daily.dev","logo":{"@type":"ImageObject","url":"https://daily.dev/apple-touch-icon.png","width":180,"height":180}},"author":{"@type":"Organization","name":"The Guild","logo":"https://media.daily.dev/image/upload/t_logo,f_auto/v1/logos/ee61cd9a12684e9889775727044e4a49","url":"https://daily.dev/sources/guild"},"commentCount":0,"discussionUrl":"https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn","interactionStatistic":[{"@type":"InteractionCounter","interactionType":{"@type":"LikeAction"},"userInteractionCount":0},{"@type":"InteractionCounter","interactionType":{"@type":"CommentAction"},"userInteractionCount":0}],"keywords":"ruby,microservices,graphql","timeRequired":"PT8M"}
{"@context":"https://schema.org","@type":"BreadcrumbList","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https://daily.dev"},{"@type":"ListItem","position":2,"name":"The Guild","item":"https://daily.dev/sources/guild"},{"@type":"ListItem","position":3,"name":"From Ruby Monolith to Federation: How Reverb Runs GraphQL with Hive"}]}
{"@context":"https://schema.org","@type":"FAQPage","@id":"https://daily.dev/posts/from-ruby-monolith-to-federation-how-reverb-runs-graphql-with-hive-bfhaxcmmn#faq","mainEntity":[{"@type":"Question","name":"What performance improvements can you expect from upgrading to Hive Gateway v2?","acceptedAnswer":{"@type":"Answer","text":"Upgrading to Hive Gateway v2 in production yielded 30% lower median CPU usage, 20% faster p90 latency, and 30% faster p95 latency, based on 30 days of Datadog data after Reverb's upgrade. The trade-off was roughly 30% higher memory usage, which the team considered acceptable. The gateway itself accounted for only 10-15% of total request time in APM waterfalls. See how other teams track gateway performance trade-offs like this one on daily.dev before rolling out a v2 upgrade."}},{"@type":"Question","name":"How can you migrate a GraphQL monolith to federation without breaking existing clients?","acceptedAnswer":{"@type":"Answer","text":"Reverb migrated incrementally by placing a federation gateway in front of both its legacy Node.js schema-merging server and a new GraphQL Ruby server built directly on its Rails monolith, routing each query by operation name to whichever backend had been onboarded, while holding strict schema parity so web, iOS, and Android clients never noticed the switch. Developers planning a similar phased migration follow real-world case studies like this on daily.dev."}},{"@type":"Question","name":"What open source tools can you use to build a GraphQL schema registry pipeline without a paid platform?","acceptedAnswer":{"@type":"Answer","text":"A self-built schema registry pipeline can combine mesh-compose for supergraph composition, GraphQL Inspector for breaking-change detection against real client operations, and GraphQL Code Generator for client type generation, all triggered through GitHub Actions on every subgraph pull request and merge, as demonstrated in Reverb's GitOps setup with ephemeral sandbox environments. Teams evaluating open source GraphQL tooling stacks compare setups like this one on daily.dev."}}]}
```

