GraphQL server solutions

03 May, 2018GraphQL

apollo-server The open source node.js GraphQL server provides a variety of packaging solutions, which can easily run GraphQL services based on express, koa, AWS Lambda, Azure functions and other web servers and cloud environments.

apollo-engine The SaaS platform can be integrated with apollo-server, or it can be integrated into existing GraphQL Server in other languages. Provide caching, error tracking, performance tracking and other services, there are free and paid plans.

graphql-yoga For apollo-server and related packages, a scaffold similar to create-react-app can quickly and easily build a GraphQL server. At the same time, it also integrates graphql-playground, an interactive tool by default, which is more complete than GraphiQL. But graphql-yoga and apollo-server have no essential difference. They only provide an external GraphQL interface and don't care about the source of the underlying data.

prisma The core function of Prisma is to directly manage the mapping between GraphQL's type structure and database tables and fields, and to provide an external GraphQL interface. In addition, it also provides other functions such as rate limiting, access authentication, and logging. There are two modes of connection with the database: the active mode is to completely manage the database's schema and data structure migration; the passive mode is to not manage the database and only do read and write operations on the database. Prisma currently only has the active mode of MySQL. It has packaged itself and the database with docker, which can be easily deployed. The current problem is that it only supports the active mode of dockerized MySQL database, so it is only suitable for building a brand new system. Other databases and cloud databases are not supported (still under development)

Prisma Cloud Prisma hosting services are provided. There are free and paid plans. In addition to the quick deployment of the prisma mentioned above to the cloud server, it also provides a Web control panel that provides functions such as viewing data.

graphcool-framework It is further than Prisma. It not only manages the database, but also manages events, cloud functions, and external APIs, and all of these are encapsulated with docker, which can be easily deployed in clusters. In addition to databases and cloud functions, third-party services such as Auth0 and Algolia can also be easily integrated.

graph.cool Positioning is Backend as a Service, similar to Firebase and Parse, providing hosted graphcool services, with free and paid plans. In addition, a Web control panel for visual editing of Schema, Data, Function, etc. is also provided.

AppSync GraphQL hosting service provided by AWS. Although apollo-server + AWS Lambda can also implement a managed GraphQL server, there are two problems: one is that Lambda does not support WebSocket, and additional services are required to implement subscription; the other is that Lambda has a cold start delay problem. AppSync provides the function of real-time synchronization by default. The database uses DynamoDB by default, which can trigger Lambda functions, use Cognito for user authentication, call Elasticsearch search, etc. In addition, it also provides offline data support and conflict handling.

References:


Powered by Gatsby. Theme inspired by end2end.

© 2014-2021. Made withby mdluo.