CamelCamelCamel API Design Evaluation and Latency Budget

Learn to meet the non-functional requirements of the CamelCamelCamel service and estimate the response time of different requests.


We'll analyze how the different non-functional requirements are fulfilled efficiently, even when they depend on other service providers.

Non-functional requirements

The following section discusses how the non-functional requirements are met by the C3 API.


The availability of the C3 service depends on whether the Amazon service is functioning. Though the Amazon service promises to be highly available, if it fails at any time, the C3 should opt for alternatives. The illustration below shows how the C3 service processes prefetched data to respond to the client after the failure of the Amazon service. As we saw in the previous lesson, the product service of C3 periodically updates its database from the PA-API. As a result, in most cases, when a user request arrives, C3 will have an updated response for the client even if Amazon fails to reply.

Level up your interview prep. Join Educative to access 70+ hands-on prep courses.