A very common practice on communication between frontend and backend of micro-service architecture is to use API gateways or adopt a BFF architecture.
However, backends of many modern sites consists of several domains.
What I mean is that they are actually using multiple public endpoints instead of a single one.
Thus, it seems that real-world practice is to use a combined method of a Direct-Client-Service method and an API-Gateway method.
Then how should we determine which service should be using a standalone endpoint while others should not?