I have a bookshelf microservice that manages user books' status (pending, read, reading now...). It exposes some REST endpoints to set book status:
PUT /users/{userId}/bookshelf/pending/{bookId}
PUT /users/{userId}/bookshelf/read/{bookId}
PUT /users/{userId}/bookshelf/reading/{bookId}
This microservice stores no data about any book, just its identifier. My question is: what is the best way to check if book actually exists?
Now, I'm calling Book microservice (http call) to check it, but I'm afraid this may be a bottleneck in the future. I have been thinking in an event oriented solution (e.g. using a Saga) but I'm not sure how to architect it from a user point of view.