Subscriptions
Graphback provides out of the box subscriptions support by providing one of the PubSubEngines
from https://github.com/apollographql/graphql-subscriptions library.
Developers can connect to any publish subscribe mechanism that is officially supported by graphql-subscriptions
or even write their own.
Graphback templates by default using InMemoryPubSubEngine
which is not designed to be used for production
use cases.
We recomend following engines:
- AMQ (MQTT) using https://github.com/aerogear/graphql-mqtt-subscriptions
- Redis - using https://github.com/davidyaha/graphql-redis-subscriptions
#
Subscriptions explainedGraphback provides subscriptions for every type of the operation that is happening on the server. This means that developers can explicitly subscribe to create, update and delete operations for particular resource.
Subscriptions can be also suppressed by developers by enabling or disabling subscription CRUD flags when initializing Graphback server
#
Changing Subscription TopicsSome of the pub sub mechanism will require different format of the topic. Graphback CRUD services expose method that can be used to override how topics are build. For example for AMQ we can create extension of the CRUD service as follows
#
Running exampleIf you wish to use authorization mechanism you can try it on DataSync starter project