Site Background Architecture Understanding (ii)

Source: Internet
Author: User

In front of a bit about the background of the Web site understanding, and then went to read the book, deepened the understanding.

Architecture is the highest level of planning, difficult to change decisions. In order to achieve the site's high performance, high availability, scalability, scalability, website security and other core objectives. Thus the formation of the Web site architecture patterns are: tiering, segmentation, distribution, clustering, caching, asynchronous, redundant, security and so simple to say about their understanding,

may be more conceptual. Because only understanding the concept can be analyzed by the example. The instance analysis will be in the next section.

1, layering : The system in the horizontal dimension of the cut into several parts, each part is responsible for a relatively single part of the responsibility, and then through the upper layer of the call to form a complete system. Simply put, the computer hardware, the operating system, the application software can also be regarded as a kind of hierarchical structure. Site hierarchy is generally divided into application layer, service layer, data layer. You can also continue layering, such as the application layer can also be divided into the view layer and the business logic layer, the service layer can be subdivided into the data interface layer and the logical technology layer. Layered architectures are logical and can be deployed on the same server on a physical deployment, but as the business of the Web site grows, the modules that are already layered must be deployed separately, each deployed on separate servers. In the development process of the website, the hierarchical structure is very important for the website to support the development of high concurrency to the publishing direction.

2, segmentation: in the longitudinal aspect of the software segmentation. The larger the site, the more complex the functionality, the more types of services and data processing, the different functions and services can be separated to facilitate the distributed deployment of different modules. For example, shopping, forums, search, ads are divided into different applications, which are owned by independent teams and deployed on different servers. If within the same application, business complex, will continue to split, such as shopping business, further into the hotel booking, ticket booking, small commodities and other smaller granularity. These modules can be stand-alone.

3, distributed: for large-scale network, with the above the layering and segmentation, is to facilitate distributed deployment. That is, different modules are being set up on different servers. Work together through remote calls. Common distributed applications and services distributed static resources distributed data and storage

4, cluster: the above using the distributed module has been layered and split independent deployment. But for the user to access the centralized module, such as the home page, but also need to separate the deployment of services to cluster. That is, more than one server is the same application to form a cluster. Services are shared externally through load balancing devices. When more users visit, simply add a new machine to the cluster, because the same application is provided by multiple servers, and when one server fails, the load Balancer device sends requests to other servers in the cluster. So in the Web site application, even the very small amount of access to distributed applications and services. Also at least 2 servers to form a small cluster to improve the availability of the system.

5. Cache: Many large websites use a cache design. Caching is the place where the data is located closest to the computer to speed up processing. CDN, cache some static resources the closest network service provider to the terminal, the user's network request is always the first to reach his network service provider, it can be the fastest speed back to the user. Video sites and portals, for example, cache high-volume hotspot content in a CDN. Reverse proxy, part of the site front end, when the request arrives at the site data Center, the first access is the reverse proxy server, directly return the data to the user, do not need to continue the request. Local cache, distributed cache, for large web sites. Load data cache in a distributed cluster, there are 2 criteria for using the cache: data does not expire for a certain amount of time, and data is a hotspot for access.

6. Asynchronous: delivery between messages is not a synchronous call, but instead divides a business operation into multiple phases, each of which is executed asynchronously through data sharing. But it will have a certain impact on the user experience and business process.

7: Redundancy: database backup, the other is the master-slave separation, real-time synchronization. Of course there are more models, but a good architecture is not a copy, and a deep understanding of the problem is based on practical application. I hope we all come to exchange and discuss together.

Site Background Schema Understanding (ii)

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.