Skip to content
Thijmen Brand edited this page Feb 27, 2023 · 2 revisions

Apollo is a platform for building a unified supergraph, a communication layer that helps you manage the flow of data between your application clients (such as web and native apps) and your backend services. At the heart of the supergraph is a query language called GraphQL. https://www.apollographql.com/docs/, (Apollo Docs Home, n.d.)

An interesting feature of Apollo server is the implementation of data source classes. These classes act as middlemen; they can help with caching and deduplication. There is support for standard REST APIs but also SQL, MongoDB, Cosmos, and Firestore databases. Every data source can have several endpoints, just like a regular REST API. Data can be mutated and unified in every endpoint before returning it to the consumer. https://www.apollographql.com/docs/apollo-server/data/data-sources/ (Data Sources, n.d.) Apollo also has built-in support for using Memcached to cache recent requests.

Apollo uses an extended version of express under the hood, which can be accessed through an API. This makes it easy to implement custom middleware for data formatting or authentication.

Clone this wiki locally