ES, CQRS, Kafka and WebSockets in production

In general newbie programmer there (< 1Y exp.).

Playing around gRPC, Kafka, ES, CQRS in Golang world. I have an idea of some kind of ERP system and it looks like micro-services and event sourcing is really what i would like to have (learn)

I know this is pretty hardcore for newbies and in many cases over-engineering… but… still… i would like to move this direction.

Am i right that to achieve full CQRS thing i could utilize WebSockets?

I already made some really dumb working example and it seems to work…

I am feeding all input from REST API into Kafka Producers, storing them in Kafka and then consuming in Event Handlers side which then populate materialized views in MySQL. When materialized view are successfully populated with new data i do emit new Kafka event which is consumed in my WebSocket handler and when event is received there i do call my Query Service over gRPC for that materialized view record in MySQL and feed the response back into WebSocket so all my WSS clients receive new data. At the end i just injecting new records into UI.

So… it kinda feels that i am on right track.

There are gazillion of issues still to handle… but…

I just wanted to hear some feedback… would this be way to move?

All inter-service communication is done over gRPC and all messages are stored in plain binary.

How many events/second are you looking for? What is the client
delivery latency requirement? Have you considered just using atom