How client API calls are served in API Edge (ie., in Router or Message Processor) . In other words, Does all calls from clients are processed asynchoronsly in MP ?

Not applicable

I understand that the API Traffic from Client app are handled through R (decides which MP to be considered for processing API). But nowhere i could found how the APIs are served i.e., will it be served synchronously OR asynchronously. If it is Asynch, how it is implemented in the MP/R, plz give little more explaination on how Asynch serving is done. Thanks

0 7 433
7 REPLIES 7

@Thinesh kumar Pownraj ,

Welcome to Apigee Community 🙂

  • How API calls are served in API Edge ?
    • API calls are processed in Message Processor. Find similar discussion here and here.
  • API calls in Message Processor processed asynchronously ?
    • Single Message processor can handle multiple requests at a time. I believe it works based on multiple threads. You don't need to worry about this & apigee edge handles it smartly 🙂
  • Can i execute policies asynchronously ? What is async attribute in policy definition ?
    • Find similar discussion here.

Keep us posted if you have any further queries.

@Anil Sagar. Thanks alot Anil for giving quick reply.

 You don't need to worry about this & apigee edge handles it smartly :)

I am involved in a consulation activity, i need to know how MP does the API call processing internally, so that i can give answer as much i can to the deciding authority to consider signing the APIGEE. if you have internal implemenation detail share across, it will be much helpful . Thanks again 🙂

Got it, let me loop in our experts. @arghya das , @Mukundha Madhavan , @tskumar@apigee.com , @sribalaji any help here ?

Not applicable

Hi @Thinesh kumar Pownraj,

All requests are being served synchronously. Router forwards the requests to available MPs. Scenario when none of the MPs is available, requests won't be served and will be returned with error. Recommendation is to have at least 2 routers and 2 MPs (on different machines) in production environment to ensure HA.

I will encourage you to go through "Edge Architecture" tutorial as part of the Developer Bootcamp course.

Cheers,

Rajesh Doda

Not applicable

@rdodaThanks Rajesh for the reply...

Thanks @Anil Sagar. @arghya das , @Mukundha Madhavan , @tskumar@apigee.com , @sribalaji

Further, attaching a picture for better query understanding

2480-flow.png

from rajesh reply

All requests are being served synchronously

You mean the (1) in the picture

Can you reply how the requests (2) (in the picture) made to Backend server implemented, will the MP wait for the call to get respond back. If so, the MP thread is blocked/timeout.., Is there any minimum waittime for response. If yes, is waittime configurable through policy.

also, how much number of request one MP can handle!. Is this also configurable through policy ?

Thanks

One more query, is the respone to the Client is again routed through R otherwise MP will directly give the response to client. Thanks

Not applicable

This is not single threaded server. Multiple concurrent requests can be handled by Router and MP.

As standard layered architecture, MP return response to Router who in-turn returns response to client.

As I suggested earlier, pl go through tutorials.

Cheers,