Question 1
Case Study:
A high-volume retailer, 'UrbanStyle', is running on Adobe Commerce Cloud Pro. During peak sales events, they experience significant slowdowns and timeouts, particularly during the checkout process after the shipping information step. The site uses a custom module that makes a real-time API call to an external service to validate shipping addresses and retrieve delivery estimates. This API call can sometimes take up to 5 seconds to respond.
The current architecture consists of a standard Pro cluster with 3 web nodes, Redis for cache and session, and Fastly CDN. New Relic analysis confirms that the transaction Controller/Checkout/Onepage/SaveShippingInformation has a very high average response time, with most of the time spent in the external API call.
Management has mandated that the user experience must be improved, and checkout timeouts must be eliminated, without removing the address validation feature. Which solution best addresses the root cause of the performance issue while meeting all requirements?
Answer and explanation
Correct answer: C
This is the best architectural solution. By decoupling the long-running API call from the user's checkout request thread, the controller can respond almost instantly. RabbitMQ (which is included with Adobe Commerce Cloud) is designed for this purpose. The user experiences a fast checkout, and the validation can be handled in the background. This directly solves the timeout issue and is highly scalable.