Building high performance high available fault tolerant and scalable distributed system is a challenge problem.
Following are three primary design guidelines:
1. Avoid centralized components
2. Avoid centralized data
3. Avoid centralized processes
Sounds obviously, doesn't it?
Other design issues (from the "Distributed Systems: Principles and Paradigms" book):
1. No machine has complete information about the system state
2. Machines make decision based only on local information
3. Failure of one machines does not ruin the algorithm
4. There is no explicit assumption that a global clock exists (it's impossible to get all the clocks exactly synchronized)
Sunday, June 22, 2008
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment