Java Reference
In-Depth Information
Router
Server 1
Server 2
Server 3
Server 4
App A
App A
App A
App A
Figure 10.1 Horizontal scaling allows client requests to be transparently distributed across
a number of servers to increase throughput.
ALLOWING SPECIALIZATION
As with many things, not all computers are created equal. Laptops are small, light, use
comparatively little power, and, as a result, produce little heat. Laptops also have
reduced processing speed, less memory, and slow disks. Mainframe computers are
large, require specialized power supplies and cooling, and you certainly would strug-
gle to lift one; on the other hand, they have vast quantities of memory, a number of
fast processors, and usually fast disks.
Laptops and mainframes represent two ends of a large scale of computing equip-
ment; one where processing power, reliability, size, and cost vary hugely. In terms of
cost effectiveness, it's usually best to pick a system that suits the type of work that
you're going to give it. Running your corporate directory database on a laptop is inad-
visable (and probably impossible), but running a small internal web portal on a main-
frame is also a waste (unless you also have that mainframe doing a number of other
things at the same time). What remoting allows you to do is to put services on
machines that fit the type of work that they perform.
If you look at the Fancy Foods superstore as an example, there's an obvious way in
which it will fail to scale. A typical machine for hosting a web application like the
superstore would be a rack-mounted blade server. These machines have reasonably
fast processors and network adapters, but only moderate memory and disk perfor-
mance. This makes blades excellently suited for handling web traffic and running
servlets, but if your database runs on the same system, this is likely to have a significant
negative impact on performance. As the number of clients increases, the amount of
Search WWH ::




Custom Search