Hi guys, I would like to ask you some questions about the API Management topic.

I would like to carry on the speech without referring to a specific programming language and focusing on the technological stack of a microservice architecture (in the following example I will refer to the Netflix stack, the one I’m studying).

Let’s assume that we have three services listening on the respective ports (8081,8082, 8083) on a server reachable at address 195.10.1.1. Suppose now that you want to pass through three components that play the role of load balancer (Ribbon) Api gateway (Zuul) and service discovery (Eureka) to reach the application.

These three components come into play between the external call and my services; I would like going deep into technical behaviours to understand how they act.

In short, as far as I understood, Eureka can tell which instance of my service is available, Zuul resolves the http call and routes to the correct service and Ribbon understands (let’s assume a round robin, correct me if I am wrong) the available instance as the previous ones are saturated.

Is this statement correct?

How does the discovery service, api gateway and load balancer act and interact each other?

Let’s talk about scaling, if an instance of my service falls or becomes saturated, how can I ensure that my application is available to users? Do I need these components?

Thanks for the help.

Sorry if I reached the wrong sub; in that case, could you tell me where I can post this? Can I crosspost to another sub (maybe r/networking*) ?*

submitted by /u/orionAndJustice4All
[link] [comments]