Service Design
As shown in this diagram, the Recommendation Service consumes “search book“ events from the queue, analyzes them and gives the book recommendations to the users.
Our recommendation service should have at least 3 components:
- Consumer: It consumes events from the queue.
- API Server: It returns a bunch of book recommendations for a given user.
- Recommendation Engine: It analyzes1 events and store the result scores in the database.
Footnotes
-
In production services, you can analyze the data with algorithms like Collaborative Filtering (User-Based, Item-Based), Content-Based Filtering, Matrix Factorization and etc. ↩