You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We're considering putting graphql-mesh in front of RabbitMQ for $manyReasons.
Basically, if we just have
RabbitMQ <-- Consumer
then RabbitMQ provides a minimum-once guarantee. If the subscriber is down for a (short) while, e.g. due to network problems, maintenance, upgrades, you name it, any events that occur during downtime will be waiting for them once they re-subscribe (maxiumum queue length permitting).
If we instead have
RabbitMQ <-- graphql-mesh <-- Consumer
the minimum-once guarantee will hold for the left-most connection. But if the GraphQL consumer experiences e.g. network problems, will any events missed during inevitable downtime be waiting when they re-subscribe?
Because if events are lost during connection downtime, both ends need to implement costly re-sync mechanisms if this is be used in real server-to-server implementations.
If it perhaps isn't provided out-of-the-box, what options do we have for providing such an end-to-end minimum-once guarantee?
I'm aware that this question perhaps reveals some basic misunderstanding of GraphQL and its possibilities.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
We're considering putting graphql-mesh in front of RabbitMQ for
$manyReasons
.Basically, if we just have
then RabbitMQ provides a minimum-once guarantee. If the subscriber is down for a (short) while, e.g. due to network problems, maintenance, upgrades, you name it, any events that occur during downtime will be waiting for them once they re-subscribe (maxiumum queue length permitting).
If we instead have
the minimum-once guarantee will hold for the left-most connection. But if the GraphQL consumer experiences e.g. network problems, will any events missed during inevitable downtime be waiting when they re-subscribe?
Because if events are lost during connection downtime, both ends need to implement costly re-sync mechanisms if this is be used in real server-to-server implementations.
If it perhaps isn't provided out-of-the-box, what options do we have for providing such an end-to-end minimum-once guarantee?
I'm aware that this question perhaps reveals some basic misunderstanding of GraphQL and its possibilities.
Beta Was this translation helpful? Give feedback.
All reactions