MyGit

tailcallhq/tailcall

Fork: 257 Star: 1310 (更新于 2024-12-18 07:25:23)

license: Apache-2.0

Language: Rust .

High Performance GraphQL Runtime

最后发布版本: v0.120.4 ( 2024-10-07 18:57:10)

官方网址 GitHub网址

Tailcall Logo

Tailcall is an open-source solution for building high-performance GraphQL backends.

Please support us by giving the repository a star image

Tweet Discord

Open Bounties Rewarded Bounties GitHub Workflow Status (with event) GitHub release (by tag) Discord Codecov

Installation

NPM

npm i -g @tailcallhq/tailcall

Yarn

yarn global add @tailcallhq/tailcall

Home Brew

brew tap tailcallhq/tailcall
brew install tailcall

Curl

curl -sSL https://raw.githubusercontent.com/tailcallhq/tailcall/master/install.sh | bash

Docker

docker pull ghcr.io/tailcallhq/tailcall/tc-server
docker run -p 8080:8080 -p 8081:8081 ghcr.io/tailcallhq/tailcall/tc-server

Get Started

The below file is a standard .graphQL file, with a few additions such as @server and @http directives. So, basically, we specify the GraphQL schema and how to resolve that GraphQL schema in the same file, without having to write any code!

schema @server(port: 8000, hostname: "0.0.0.0") @upstream(httpCache: 42) {
  query: Query
}

type Query {
  posts: [Post] @http(url: "http://jsonplaceholder.typicode.com/posts")
  user(id: Int!): User @http(url: "http://jsonplaceholder.typicode.com/users/{{.args.id}}")
}

type User {
  id: Int!
  name: String!
  username: String!
  email: String!
  phone: String
  website: String
}

type Post {
  id: Int!
  userId: Int!
  title: String!
  body: String!
  user: User @http(url: "http://jsonplaceholder.typicode.com/users/{{.value.userId}}")
}

Now, run the following command to start the server with the full path to the jsonplaceholder.graphql file that you created above.

tailcall start ./jsonplaceholder.graphql

Head out to docs to learn about other powerful tailcall features.

Benchmarks

Throughput comparison of various GraphQL solutions for a N + 1 query:

query {
  posts {
    title
    body
    user {
      name
    }
  }
}

Throughput Histogram

Check out detailed benchmarks on our benchmarking repository.

Contributing

Your contributions are invaluable! Kindly go through our contribution guidelines if you are a first time contributor.

Support Us

⭐️ Give us a star.

👀 Watch us for updates.

License

This initiative is protected under the Apache 2.0 License.

最近版本更新:(数据更新于 2024-10-08 03:01:11)

2024-10-07 18:57:10 v0.120.4

2024-10-06 12:03:03 v0.120.3

2024-10-06 10:00:43 v0.120.2

2024-10-06 06:49:52 v0.120.1

2024-10-05 20:12:42 v0.120.0

2024-10-05 13:01:13 v0.119.0

2024-10-05 02:51:28 v0.118.3

2024-10-05 00:12:11 v0.118.2

2024-10-04 23:39:33 v0.118.1

2024-10-04 20:18:17 v0.118.0

主题(topics):

api-gateway, backend-for-frontend, battle-tested, cloud-native, extendable, graphql, graphql-api, graphql-server, io-efficiency, microservices, open-source, orchestration, performance, protocol-agnostic, proxy, resiliency, runtime-tuning, seamless-devx, security

tailcallhq/tailcall同语言 Rust最近更新仓库

2024-12-17 21:44:14 dashpay/platform

2024-12-17 17:18:34 lanyeeee/jmcomic-downloader

2024-12-17 08:53:41 lapce/lapce

2024-12-13 00:59:37 tursodatabase/limbo

2024-12-12 18:04:56 nexus-xyz/network-api

2024-12-12 00:14:56 spaceandtimelabs/sxt-proof-of-sql