With the increasing number of high-level concurrent access and massive data processing scenarios on large websites, it is increasingly important to achieve high-availability, scalability, scalability, and security goals. In order to solve such a series of problems, the architecture of large websites is also constantly evolving. To improve the high-availability architecture of large websites, it is necessary to mention distributed. This paper briefly introduces the concept of distributed systems, the characteristics of distributed systems, commonly used distributed solutions, and the differences between distributed and clustered.
First, centralized system
Before learning about distribution, let's take a look at what a centralized system is like.
The centralized system is summarized in one sentence: one host with multiple terminals. The terminal has no data processing capability and is only responsible for data entry and output. The calculation, storage, and the like are all performed on the host. Most of the current banking systems are such centralized systems. In addition, they are also distributed in large enterprises, research institutes, military, and government. Centralized systems, mainly popular in the last century.
The biggest feature of the centralized system is that the deployment structure is very simple. The bottom layer generally uses expensive mainframes purchased from IBM, HP and other vendors. Therefore, there is no need to consider how to deploy multi-node services, and thus do not consider the distributed collaboration between nodes. However, due to the stand-alone deployment. It is very likely that the system is large and complicated, difficult to maintain, and a single point of failure (when a single point fails, it will affect the entire system or network, resulting in flaws in the entire system or network), poor scalability, and the like.
Second, distributed system (distributed system)
In the book "Distributed System Concepts and Design", the following definitions are made for distributed systems:
A distributed system is a system in which hardware or software components are distributed on different network computers and communicate and coordinate with each other only through messaging.
Simply put, a collection of independent computers provides services to the outside world, but for the users of the system, it is like a computer providing services. Distributed means that more common computers (as opposed to expensive mainframes) can be used to form a distributed cluster to provide external services. The more computers, the more CPU, memory, storage resources, etc., the greater the amount of concurrent access that can be processed.
From the concept of distributed systems, we know that the communication and coordination between the various hosts is mainly through the network. Therefore, the computers in the distributed system have almost no space restrictions. These computers may be placed in different cabinets. It may be deployed in different computer rooms, or in different cities, and may even be distributed in different countries and regions for large websites. However, regardless of how spatially distributed, a standard distributed system should have the following main features:
Distribution
Multiple computers in a distributed system can be randomly distributed in a spatial location. There is no master or slave between multiple computers in the system, that is, there is no host controlling the entire system, and there is no controlled slave.
Transparency
System resources are shared by all computers. Users of each computer can not only use the resources of the machine, but also the resources of other computers in the distributed system (including CPU, files, printers, etc.).
Identity
Several computers in the system can work together to accomplish a common task, or a program can be distributed across several computers to run in parallel.
Communication
Any two computers in the system can exchange information by communication.
Compared with centralized systems, distributed systems are more cost-effective, more powerful, more reliable, and more scalable. However, distributed solves the high concurrency problem of the website and brings some other problems. First, the necessary condition for distribution is the network, which may have a certain impact on performance and even service capabilities. Second, the more servers in a cluster, the greater the probability of server downtime. In addition, since the distribution of services in the cluster is deployed, the user's request will only fall on one of the machines, so once the processing is not good, it is easy to generate data consistency problems.
Commonly used distributed solutions
Distributed applications and services
Layer and segment applications and services, and then deploy applications and service modules in a distributed manner. Not only does this improve concurrent access, reduce database connectivity and resource consumption, but it also enables different applications to reuse common services, making it easy to scale.
Distributed static resource
Distributed deployment of static resources such as JS, CSS, and images on the website can reduce the load pressure on the application server and improve access speed.
Distributed data and storage
Large websites often need to process huge amounts of data, and a single computer often cannot provide enough memory space to distribute the data.
Distributed Computing
With the development of computing technology, some applications require very large computing power to complete, and if centralized computing is used, it takes a long time to complete. Distributed computing breaks down the application into many small parts that are distributed to multiple computers for processing. This can save the overall calculation time and greatly improve the calculation efficiency.
Thank you for posting this!
Thanks keep supporting I will do same thanks for your support...
You've received a lifting from @botox ! Consider delegating to earn passive income 20SP,50SP,100SP,200SP.
Tu viens de recevoir un lifting de @botox ! Envisager de déléguer pour gagner un revenu passif 20SP,50SP,100SP,200SP.
You just received a 9.63% upvote from @honestbot, courtesy of @asifalirao4570!
This post has received a 2.81% upvote from thanks to: @asifalirao4570!!!
For more information, click here!!!!
If you use our Robot before your post has 1 day and get an Upvote greater than 1%, you will automatically receive Upvotes between 1% and 10% as a bonus from our other robots.
How to delegate sp????
I want to delegate X sp to @user
Where X is the amount of SP and @user is the steem user you want to delegate to. For example:
I want to delegate 100 sp to @minnowhelper
@tipU will answer with a delegation link. Hope this helps!:)
informative article brother it will help us to get so much knowledge so thanks for sharing and keep posting :)
Great post!
Thanks for tasting the eden!
You got a 4.62% upvote from @emperorofnaps courtesy of @asifalirao4570!
Want to promote your posts too? Send 0.05+ SBD or STEEM to @emperorofnaps to receive a share of a full upvote every 2.4 hours...Then go relax and take a nap!