As a best practice, a client must not have information about your microservice hosts and ports. All clients must be aware of the single entry point to all microservices. In this case, we have to implement an API gateway that provides a single entry point for clients. This is a much better approach than direct client-to-service communication.
An API gateway is an edge server that provides services to a client that is similar to the Facade pattern from object-oriented design. The API gateway hides the diversity of protocols from multiple background microservices and instead provides a common API for each client and microservice. An API gateway is responsible for request routing, composition, and protocol translation. They may also have other functionalities, such as authentication, monitoring, load balancing, caching, request shaping and management, and static...