I've been learning about the AWS AppSync architecture today from AppSync documentation.

Tried to put it into my own words so that I can remember it. Sharing it with you all! ๐Ÿงต๐Ÿ‘‡
GraphQL Proxy

- Runs the GraphQL engine for processing requests
- Mapps incoming requests to logical functions
- Performs batching process called Data Loader to data sources
- Conflict detection and resolution

(1/8)
Operations

AWS AppSync supports the following GraphQL operations
- Queries (read-only fetch)
- Mutations (write then fetch)

- Subscriptions
-- long-lasting operations that can change their results over time
-- WebSockets are commonly used for this
-- See PubSub pattern

(2/8)
Action

- When a mutation is performed, a notification is sent to all connected subscribers
- Through a GraphQL subscription, clients can become subscribers
- This is the only action defined in AWS AppSync

(3/8)
Data Sources

- A persistent storage system
- A Trigger
- Requires credentials to access them
- Application state is managed by the system or the trigger defined in the data source.
- Examples would be DynamoDB, Amazon Aurora, Lambda functions, and HTTP APIs

(4/8)
Resolvers

- They connect the GraphQL and Data Sources

- Resolver functions convert GraphQL payloads to specified storage protocols via Apache Velocity Template Language(VTL) and execute them if they have necessary permissions.

(5/8)
Unit Resolvers

Defined as "A resolver that performs a single operation against a predefined data source." Although the real nature of this is not entirely clear to me yet!

I Will update you about this later!

(6/8)
Pipeline Resolvers

- A Pipeline resolver enables you to execute multiple operations against one or multiple data sources
- Consists of multiple functions
- Each function is executed in a sequential manner and can perform a single operation against a single data source

(7/8)
Function

A function can be used across multiple pipeline resolvers. They consist of
- Version
- A request and response mapping template (VTL)
- A data source
Used to perform redundant logic

(8/8) --END--

โ€ข โ€ข โ€ข

Missing some Tweet in this thread? You can try to force a refresh
ใ€€

Keep Current with Charith ๐Ÿฆ€

Charith ๐Ÿฆ€ Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Too expensive? Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal Become our Patreon

Thank you for your support!

Follow Us on Twitter!

:(