Thursday, August 28, 2014

Distributed software

  1. Load Balancer:  the load balancer just forwards the requests to the backend machines, which actually "process" the requests, receives the responses from the backend machines and sends them back to the client.
  2. Caching:
  3. Cluster: A computer cluster consists of a set of loosely connected or tightly connected computers that work together so that in many respects they can be viewed as a single system.
  4. Partition:
  5. Parallelization: means attacking a problem in a way that makes it easy to add more resources for solving it
  6. Caching:caching is easy, purging the caches when updates are needed is hard.
  7. Scalable code essentially means you solve problems such that your code is able to produce the desired output if the problem scales to a problem of millions or billions.
  8. Scale out: add more computers.
    Scale up: make each computer more powerful (add more CPUs, memory, storage, worker threads, etc) Map-Reduce operations tend to work best with the scale out approach. Virtualization benefits from scale up, but only to some degree.
Load Balancing

No comments:

Post a Comment