Advertisement

Spring Recipes pp 909-934 | Cite as

Spring on the Grid

  • Gary Mak
  • Josh Long
  • Daniel Rubio

Abstract

In this chapter, you will learn the principles behind various distributed computing concepts and how to use Spring in conjunction with some very powerful, open-source-ish third-party products to build solutions leveraging those concepts. There are many different types of distributed computing. In this chapter, we talk about grid computing, which can be defined as an application of many systems in service to a task greater than any single system could usefully handle. Grid computing solves many problems, some more ephemeral than others:
  • 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.

Keywords

Virtual Machine Configuration File Public Class Thread Application Processing Grid 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.

Preview

Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.

Copyright information

© Gary Mak, Josh Long, and Daniel Rubio 2010

Authors and Affiliations

  • Gary Mak
  • Josh Long
  • Daniel Rubio

There are no affiliations available

Personalised recommendations