Application Resiliency
Came across an interesting presentation from Chris Westin at Yahoo. It piqued my interest because it documented a lot of the same concepts we exploited at Shopzilla. Namely:
- Loosely coupled, independent application functions
- Redundancy at every tier
- UI handles failed or timed-out web service calls and degrades gracefully
- Implement page fragments to render portions of data returned from HTTP service calls
- Multiple parallel asynchronous HTTP calls to fetch content
- Employ caching at the service level
One difference at Shopzilla is that we didn’t wait for all service calls to complete before rendering the page. We began rendering from the top; utilizing Futures from the Java concurrency API, it would automatically block if we needed data that wasn’t yet available, or proceed to render the content if the data was already there. Judicious use of response flushing could allow us to send portions of the page back to the browser for rendering even while the server was still busy.
View more presentations from Chris Westin.
No comments yet.