Distributed is used to improve performance through horizontal scaling. There are two reasons for the expansion:
CPU load and I/O load (computing-intensive and IO-intensive)
The so-called CPU load is a common web service. These services consume only the CPU. Therefore, you only need to increase the number of servers installed with the same service, and then the Server Load balancer can work, however, the I/o load is far more complex than the CPU load because data division is required.
Most of the I/O distributed frameworks are solving the following problems:
1. Data cutting and inter-machine Allocation Strategies (the principle is to move computing rather than data as much as possible)
2. How to ensure data availability through multiple backups (ensure consistency of multiple backups)
3. How can clusters respond to client-side read/write requests in a targeted manner?
4. How to Implement hot plugging of a single machine in the Cluster
5. Good load balancing policies
6. network communication latency. Because the computer runs at a speed of microseconds or even nanoseconds, the latency is measured in milliseconds.ProgramPerformance damage is extremely high.