Skip to content

Are GraphQL Subscriptions efficient enough or should Kafka streams be used to communicate map changes to each client?

Dennis Dubbert edited this page Mar 19, 2020 · 1 revision

Implementation details should be hidden from the outside world. That is why board updates should be served by the corresponding service via GraphQL Subscriptions, to hide internal Kafka usages, topics, host, ports and so on. The question is simply if such a subscription has enough throughput to serve 60 or more updates a second.

To test this, the implementation will depend on subscriptions first. If they are not sufficient enough, they can be swapped out so that a client will directly be connected to Kafka topics.

Findings:

While implementing the Game, no performance issues where noticeable so that GraphQL-Subscriptions where kept as the message medium for a client.