I have no doubt regarding what each of the technology does. I have tried all of them as well. What I have doubt with is:
In case we use GraphQL, wont it act like a single point of failure if the GraphQL server goes down? Can it be clustered and if yes, any architecture available?
I know why kafka is used in the Microservices world. If we are using GraphQL, does kafka become irrelevant or is there any place where Kafka still makes sense with GraphQL?
If we build Microservices, we can containerize every Microservice using Docker and use Kubernetes for orchestration and Kafka for the streaming layer, but if we use GraphQL, is it built as a monolith and is the entire application containerized? Or do we still modularize the code, and containerize different modules in servers and query them via GraphQL?
Where and how should my database layer exist when implementing via GraphQL. For microservices, we use one DB instance for every microservice.
For the context, I am thinking of an architecture to build scalable, containerizable and manageable APIs with GraphQL.