I've heard about the idea of distribution before, but I haven't really understood it. In class last week, the teacher explained it again, but I only understood a little. And I don't know much about the clusters mentioned in the class. So I went down to find out about them.
The final result is three structures: stand-alone structure, cluster structure, distributed structure
Stand-alone structure:
Just like we wrote the project before, put all the code in a project, and then this project is deployed on a server. All services for the entire project are provided by this server. This is the stand-alone structure.
Obviously, the shortcomings of the stand-alone structure are obvious. When the business volume is small, this server can support the project. But when the business volume is getting bigger and bigger, this server will naturally not be able to support it.
Cluster structure:
When the processing of a single machine cannot support a project, you can try a cluster structure. A simple understanding of a cluster is to copy a single machine into several parts, and the cluster is formed together. Each server in the cluster is called a "node" of the cluster, and all nodes constitute a cluster. each node
All provide the same service, so the processing power of the system is equivalent to several times higher.
But when the business volume continues to rise, you can of course continue to add servers, but when the business volume reaches a certain level, the performance of the cluster may not be so obvious. So the design structure needs to be improved.
Distributed structure:
(Poor language organization) To use the definition from Wikipedia: