Hi All,
We're developing microservices platform based in CQRS and Event Sourcing principals.
The idea is very simple:
- we have set of low level services hosted on Kafka Bus and perform streams processing (join, aggregation, etc)
- we have set of mid level services that uses stream processing results and provide access to it by exposing REST API
- we have high level frontend applications that uses above-mentioned REST API
We faced the problem that developers needs to be in the known how Kafka works while implementing new features in frontend and/or REST services.
We have an idea to decouple frontend (mid/high level) and backend (low level).
To solve that we'd like to:
- sink stream processing results into Mysql databases to have so called "read model" for quering
- have one separate microservice for data mutations in Kafka (which are asynchronously reflected in mysql read model state).
On top of that we'd like to have framework to:
- easily spawn new high level microservices
- add read models in runtime to make them available for high level microservices
- allow high level microservices to make queries across different read models
So the question: is GraphCool the right solution to that?
If no: what backend framework would you suggest?
Thanks in advance!