This a fully scalable project Read & Write Server,where two services(write service & read server),which talks to eachother asynchronously via kafka distributed streaming process.
-
Read Server
-
Write Server
-
Kafka Server
-
Typescript Express(Nodejs)
-
Docker
-
Kafka
-
mongodb
-
Now either fork or download the app and open the folder in the cli
-
To spin up kafka + zookeeper server locally.
-
Inside Project Folder go to
kafka-server/
and run the commanddocker-compose up
. -
To spin up write server.
-
Inside Project Folder go to
write-server/
-
Run the command
docker-compose build
and thendocker-compose up
. -
Same steps to spin up read server.
-
Can Create/write Update user in the write-server
/create-user
. -
After writing user data into the mongodb write server will send user data to kafka broker by Producer Api
-
User data will be pulled by Consumer Api in read-server and gonna save in mongodb.
-
User data will be written in read-server by
optimistic concurrency control
method in mongo -
gonna add haproxy to handle multiple instance of server.
-
Docker
-
Kafka
-
express
-
typescript
-
mongo