On IDF05 (Intel Developer Forum 2005), Intel chief executive Craig Barrett to cancel the 4GHz chip plan, half joking in public on one knee apology, to the vast number of software developers a clear signal, Simply relying on vertical lifting hardware performance to improve the performance of the era has ended, the era of distributed development has been quietly become the mainstream of the times, very hot cloud computing is actually just packaged in a business concept outside the distributed, many developers (including me) want to join the study of cloud computing this trend, On Google through the "cloud computing" this keyword to query the information, the search is a few conceptual or commercial propaganda materials, in fact, really need to go deep or that early to be familiar with the concept of------distributed.
Distributed can be simplified, the simplest distribution is the most common, in the Load Balancer server after adding a heap of Web servers, and then a cache server on the above to save the temporary state, after sharing a database, in fact, a lot of people who are known as distributed experts will stay here, the approximate structure as shown:
This environment is really distributed just Web server, and there is no connection between Web server, so the structure and implementation are very simple.
In some cases, the need for distribution is not so simple, there are distributed requirements at each link, such as load Balance, DB, cache and files, and when there is a correlation between distributed nodes, but also to consider the communication between, in addition, the node is very many times, have to have monitoring and management to support. This seems to be a very large system of distribution, except that you can tailor it to your specific needs. In terms of the most complete distributed system, the following modules can be composed:
Distributed Task Processing services: Responsible for specific business logic processing
Distributed node Registration and query: Responsible for the management of all distributed node naming and physical information registration and query, is the link between the nodes of the bridge
Distributed DB: Distributed structured data access
Distributed cache: Distributed cached data (non-persistent) access
Distributed files: Distributed file access
Network communication: Network data communication between nodes
Monitoring management: Collects, monitors, and diagnoses all node running states
Distributed programming languages: for proprietary programming languages in distributed environments, such as Elang, Scala
Distributed algorithm: A Paxos algorithm for solving some peculiar problems in distributed environment, such as solving the consistency problem
Therefore, in order to delve into cloud computing and distribution, we have to delve into the above areas, and each of these areas is very deep and requires a very low level of knowledge and technology to support, so it is very good for developers who want to improve technology to use distributed as a point of entry, which can be a clue. Explore every corner of the computer world.
Distributed design and development (i)------macro-Overview