Large Web site technology Architecture (iii)--Architecture core elements

Source: Internet
Author: User
Tags website performance

The so-called architecture, a popular saying is "the highest level of planning, difficult to change the decision", these plans and decisions laid the direction of the future development of things and the final blueprint.

The software architecture is "an abstract description of the overall architecture and components of the software, which is used to guide the design of large software systems in all aspects". In general, software architectures need to focus on the 5 architectural elements of performance, availability, scalability, scalability, and security .

1. Performance

Performance is an important aspect of Web site architecture design, and any software architecture design must consider possible performance issues. And because performance issues are almost ubiquitous, there are a number of ways to optimize website performance:

Browser-side: can be through browser caching, page compression transmission, reasonable layout of pages, reduce the transmission of cookies, and even use the CDN acceleration function.

Application Server-side: can use the server local cache and distributed cache, can also be asynchronous operation to speed up the response, in the case of high concurrent requests, multiple application servers can be composed of a cluster of common external services, improve the overall processing capacity, improve performance.

Database server-side: Using indexes, caching, SQL performance optimization and other means, you can also use NoSQL database to optimize the data model, storage structure and so on.

Measuring website performance has a series of indicators, important response time, TPS, performance counters , etc., through these indicators to determine whether the system design to achieve the goal.

2, the availability of

Availability is the time to provide service uninterrupted. Almost all sites promise 7x24 hours, but in fact no site can achieve full 7x24, there will always be some downtime, deduction of these downtime, is the site's available time. Some large sites can do 4 more than 9 availability, which is 99.99%.

The main means of Web site high availability is redundancy, application deployment on multiple servers to provide services at the same time, data storage on multiple servers to back up each other, no one server will affect the overall application can, the common implementation means that multiple servers through the load balancing device to form a cluster.

measuring whether a system architecture is designed to meet a high-availability goal is to assume that the overall system is still available if any one or more servers in the system are down, and when there are various unforeseen problems.

3. Flexibility

Large Web sites need to face a large number of users of high concurrent access and storage of massive amounts of data, the site through a cluster of multiple servers to form a whole together to provide services. The so-called scalability refers to the continued integration of the server into the cluster to alleviate the continuous public access pressure and the growing demand for data storage.

The primary criterion for scaling the architecture is whether multiple servers can be used to build the cluster and whether it is easy to add new servers to the cluster. Whether you can provide a service that is not differentiated from the original server after joining the new server. Whether there is a limit on the total number of servers that can be accommodated in the cluster.

4. Extensibility

Unlike other architectural elements that focus on non-functional requirements, the extensibility architecture of the site directly focuses on the functional requirements of the site. The rapid development of the website, the expansion of functions, how to design the architecture of the site so that it can quickly respond to changes in demand, the site is the main goal of the extensible architecture.

The main criterion to measure the extensibility of the website architecture is whether there is no effect on the transparency of the existing products when the new business products are added to the website, and the coupling between different products is very little.

The main means of Web site extensible architecture are event-driven architecture and distributed services .

Event drivers typically take advantage of Message Queuing implementations, which separate the message production and processing logic in this way.

The server service is the separation of business and reusable services, called through the Distributed service framework. New additions can be made by invoking reusable services to implement their own business logic without any impact on existing products.

5. Security

The internet is developed, and anyone can access the site from anywhere. The security architecture of the website is to protect the website from malicious access and attack, and to protect the important data of the website from being stolen.

The criteria for measuring the security architecture of a Web site are the existence and potential of various attacks and spy, and whether there is a credible response strategy.

Large Web site technology Architecture (iii)--Architecture core elements

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.