Search⌘ K

Comparing options

Understand how to compare and implement strategies for throttling user requests and dynamically restarting services in an online store environment. Learn to use connection pooling and recovery-oriented computing principles to maintain system availability during high traffic, ensuring smoother operations under real-world stress.

Conway’s law

Brainstorming ensued. Numerous proposals were thrown up and shot down, generally because the application code’s behavior under those circumstances was unknown. It quickly became clear that the only answer was to stop making so many requests to check schedule availability. With the weekend’s marketing campaign centered around free home delivery, we knew requests from the users were not about to slow down. We had to find a way to throttle the calls. The order management system had no way to do that. We saw a glimmer of hope when we looked at the code for the store. It used a subclass of the standard resource pool to manage connections to order management.

In fact, it had a separate connection pool just for scheduling requests. I’m not sure why the code was designed with a separate connection pool for that, probably an example of Conway’s law, but it saved the day and the retail weekend. Because it had a component just for those connections, we could use that component as our throttle.

If the developers had added an enabled property, it would have been simple to set that to ...