One should be able to modify data at all points by sending a message, whether via GraphQL, Kafka or any other system with a defined schema and the system could consume and make the appropriate changes and pass back a message with the results of this modification (when applicable).
This would be an abstraction one level up from the current system where GraphQL requests directly call mutations, but would allow anyone to build a connector and send/receive message via any transport they like. It would eliminate the need to build custom plugins just to consume messages but allow for high volume/high speed transaction for which GraphQL via HTTP is a poor choice
So for example I could just send a product modification message to the "Product" channel and have all of the implementation details hidden from me.
One should be able to modify data at all points by sending a message, whether via GraphQL, Kafka or any other system with a defined schema and the system could consume and make the appropriate changes and pass back a message with the results of this modification (when applicable).
This would be an abstraction one level up from the current system where GraphQL requests directly call mutations, but would allow anyone to build a connector and send/receive message via any transport they like. It would eliminate the need to build custom plugins just to consume messages but allow for high volume/high speed transaction for which GraphQL via HTTP is a poor choice
So for example I could just send a product modification message to the "Product" channel and have all of the implementation details hidden from me.