» Node.js: Building Event-Driven Microservices with Kafka » 1. Introduction » 1.2 Objectives

Project Objectives

This project aims to implement 3 microservices that power the books business:

  • Web Service: a website where users can browse and search books, which also produces and sends “user search“ events to the Kafka message queue1.
  • Trend Service: an API server that shows a list of trendy books to the user, which also receives and consumes “user search“ events.
  • Recommendation Service: an API server that gives book recommendations to the user, which also receives and consumes “user search“ events.

The following technologies should be used:

  • It produces/consumes events in Kafka.

Kafka

  • It stores data in MySQL or monogoDB.

MySQL

mongoDB

  • It caches data and maintains a sorted list in Redis.

redis

  • It can be deployed with Docker and Docker Compose.

docker

Footnotes

  1. It can do much more, but we only use the “queue“ part here.