Comparing options
Lean about unknown behavior of applications, scheduling requests, and recovery-oriented computing.
We'll cover the following...
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 ...