...

/

CamelCamelCamel API Design Evaluation and Latency Budget

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.

Introduction

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.

Availability

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.

Reliability

Reliable data is provided to the client as the requests are responded to with data directly from the Amazon service. The reliability of the data may be questioned if the response is provided from locally available data in case of failure of Amazon's service. However, such issues are rare and may be resolved through a simple retry in most cases. Further, to improve reliability, the frequency of fetching data from Amazon may be increased at the cost of increased communication. This may result in up-to-date results but suffer from issues like rate limiting on Amazon's API.

Point to Ponder

1.

Can a premium account tackle the rate limiting of the PA-API of Amazon to provide seamless services?

Show Answer
Q1 / Q1
Did you find this helpful?

Scalability

The scalability of our service is highly dependent on the service of Amazon and is subject to being restricted by it. In situations in which the requests quota of Amazon isn’t scaling (enhancing) well, the scalability of our service will be affected. One possible technique to overcome this problem is limiting client requests. ...

Access this course and 1400+ top-rated courses and projects.