AppSync Realtime Message Delivery Guarantee

0

Hi,

We're leveraging Appsync's real-time subscription/mutation capabilities in our app. Just wanted to check and confirm if there's any message delivery guarantee built-in in Appsync? What if the message is sent via WebSocket but not received by a web client (due to the nature of TCP)? is there some kind of Ack/retry mechanism?

couldn't find much info related to message delivery guarantee (real-time WebSockets) in the Appsync docs

2 réponses
0

Hello!
Maybe this sequence diagram can help you understand AppSync's GraphQL subscriptions mechanism.

AppSync does not provide an ACK / Retry mechanism in case the client does not receive the event.
However, I think it would have a considerable effort to manage any retry or guarantee mechanisms for each client.

However you could do this test:

  1. Register a client to a subscription
  2. Disconnect client connection (simulating network failure)
  3. Invoke a mutation
  4. See what happen client side
  5. Reconnect the network to the client
  6. See what happen client side.

(I would expect that you will not receive the mutation event)

I also recommend that you use the AWS suggested clients: https://docs.aws.amazon.com/en_en/appsync/latest/devguide/building-a-client-app.html

répondu il y a 2 ans
0

There are two main modes of "mobile notifications", one is based on store-and-forward messages such as Apple Push Notification Service (APNS) or Google's, and the second is based on push/subscriptions such as AWS Simple Notification Service (SNS).

Most use cases of GraphQL and implementations are similar to the latter use case, which means that if the endpoint is not available the notification is dropped. These use cases are designed on the time-sensitivity of the notification and creating a long queue of all the notifications that you missed is usually less relevant. The assumption in these use cases is that if a mobile device is not connected to the network, the mobile application will pull the latest status of the data upon reconnection.

MLGuy
répondu il y a 2 ans

Vous n'êtes pas connecté. Se connecter pour publier une réponse.

Une bonne réponse répond clairement à la question, contient des commentaires constructifs et encourage le développement professionnel de la personne qui pose la question.

Instructions pour répondre aux questions