TE
TechEcho
Home24h TopNewestBestAskShowJobs
GitHubTwitter
Home

TechEcho

A tech news platform built with Next.js, providing global tech news and discussions.

GitHubTwitter

Home

HomeNewestBestAskShowJobs

Resources

HackerNews APIOriginal HackerNewsNext.js

© 2025 TechEcho. All rights reserved.

Ask HN: GraphQL in 2024

3 pointsby tusharmathover 1 year ago
Hi, I am the founder of https:&#x2F;&#x2F;tailcall.run. I have personally built and used GraphQL at a massive scale (100M rpm, 1K APIs, 100s services). I believe have a fair understanding of the problem it solves, as well as its pitfalls. We built Tailcall because we realized that manually writing a GraphQL service is inefficient and doesn&#x27;t scale well. Our main learning was that APIs should be built and operated independently, regardless of how they are consumed.<p>GraphQL should also be considered as a client-side abstraction and architecturally positioned closer to the client than to the server. In this context, the client could be a mobile app, a website, or even another service querying data from an external or internal data source. As a client-side abstraction, the responsibility of maintenance should lie with the consumer of the APIs, not the producer. All these learnings have helped us architect Tailcall as it is today. Tailcall provides a DSL that allows consumers of the API to configure how they would want the schema to look. Behind the scenes, Tailcall automatically orchestrates the APIs to generate a unified graphQL endpoint. Once configured it can be deployed on a typical server, but semantically still being a piece of the client&#x2F;API Consumer.<p>This way of looking at graphQL considers federation as an anti-pattern. GraphQL Federation pushes graphQL towards the server side or more specifically the API producer. This new layer of abstraction also adds significant levels of slowness &amp; complexity in architecture. We started with the problem of clients consuming APIs and the need to compose them, but ended up using a solution that&#x27;s composing &quot;Graphs&quot;. That&#x27;s not necessarily wrong, but it feels like an overkill for the core problem the organization starts with which is — API Composition.<p>However, we understand that this might not be relatable for smaller organizations and various others who have been working with GraphQL for a long or probably have a different take on it. I would love to hear your thoughts!<p>Some of the questions we had were —<p>Do you prefer to handwrite a graphQL API or, use an open-source solution that could auto-generate a GraphQL endpoint on top of your existing API?<p>What are your thoughts on GraphQL in general — like, hate, neutral? Does it solve a big problem in your company? Have you tried TRPC as an alternative?<p>Do you think federation is the future? Based on what you learned, do you think Tailcall is a good design?

3 comments

piizeiover 1 year ago
Looks and feels a lot like AWS Amplify (which is not a bad thing). I assume the difference is that this runs on the frontend server (node) where Amplify tranformation happens on AppSync. Definetly going to test this. What is bit unclear what is the interface with the frontend server to tailcall,like how do I pass the JWT tokens from node app to @upstream headers?
评论 #38694613 未加载
tony-allanover 1 year ago
<a href="https:&#x2F;&#x2F;tailcall.run&#x2F;" rel="nofollow noreferrer">https:&#x2F;&#x2F;tailcall.run&#x2F;</a>
mdjahidhasanover 1 year ago
Your experience with massive-scale GraphQL usage is valuable. Tailcall&#x27;s approach to API composition is intriguing. Can you share specific scenarios where Tailcall has proven to be particularly effective in comparison to other GraphQL solutions?
评论 #38670600 未加载