Scalability: The distribution of work enables more requests to be handled. Distribution expands an application’s ability to scale, as required, to meet demand. This is the quintessential reason behind clustering and load balancing.
Redundancy: Computers fail. It’s built in. The only thing you can guarantee about a hard disk of any make? That it will, at some point or another, fail, and more than likely in your lifetime. Being able to have a computer take over when something else becomes ineffective, or to have a computer’s load lessened by adjoining members in a cluster, is a valuable benefit of distribution. Distribution provides built in resilience, if architected carefully.
Parallelization: Distribution enables solutions designed to split problems into more manageable chunks or to expedite processing by bringing more power to bear on the problem. Some problems are inherently, embarrassingly parallelizable. These often reflect real life. Take, for example, a process that’s designed to check hotels, car rentals, and airline accommodations and show you the best possible options. All three checks can be done concurrently, as they share no state and have no dependencies on each other. It would be a crime not to parallelize this logic. Some problem domains are not naturally, embarrassingly parallel, so it as at your discretion that you seek to apply parallelization.
KeywordsVirtual Machine Configuration File Public Class Thread Application Processing Grid
Unable to display preview. Download preview PDF.