- Vertical distribution :
Distributed processing is equivalent to organizing a
client-server application
as amultitiered architecture
. Place 开发者_JS百科logically different components on different machines. - Horizontal distribution :
Distribution of the
clients and servers
- more common in modern architecture. Aclient
orserver
may bephysically
split up intologically
equivalent parts, but each part is operating on its own share of the complete data set, thus balancing the load.
I tried to understand the difference between the vertical
and horizontal
. what's the meaning of "logically
" and "physically
" ?...but I can't! Does anybody know?
From the solution manual of Distributed Systems: Principles and Paradigms (Tanenbaum, van Steen):
- Vertical distribution refers to the distribution of the different layers in a multitiered architecture across multiple machines.
- Horizontal distribution deals with the distribution of a single layer across multiple machines, such as distributing a single database.
Examples of layers could be:
- User Interface
- Application
- Database
AFAIK
horizontal - You add more machines. These machines are equal meaning that they play similar role. For example you have Node server that handles all requests. You install it on three machines. All these machines do the same thing. When the load is high you add another machine with Node server.
vertical - You get better machines to handle the load. Also machines play different roles - for example you have Authentication server on one machine and Node server on the other.
Very Simple -
- Vertical : buy a high end machine to handle more load
- Horizontal : buy couple more machines to handle more load
You with high probability would start with vertical since its simple to get started. Once load on your system reaches a threshold you would land on horizontal to make your architecture more scalable.
Vertical - Upgrading two computers to handle one task. Adding more processors, ram and many other components of upgrading the computers.
Horizontal. - Purchasing more computers to handle one task. It is more efficient since many computers will work on one task at the same time. It is also very fast compared to Vertical. Most organization systems use this technique.
精彩评论