High Availability--site architecture

Source: Internet
Author: User

Typically, enterprise-class applications use more expensive hardware and software devices to improve system availability.

such as IBM's minicomputer and even midsize machine mainframe and proprietary operating system, Oracle database, EMC storage devices and so on.

Internet companies are increasingly using PC-class servers, open-source databases, and operating systems, and these inexpensive devices reduce availability while saving costs.

In particular, the server hardware equipment, low-priced commercial-grade servers One year downtime is a large probability event, and those high-intensity frequent reading and writing of ordinary hard disk, the probability of damage is higher.

Since the hardware failure is normal, the purpose of the site's high-availability architecture is to ensure that the service is still available when the server hardware fails, and that the data is still saved and accessible.

The primary means of implementing these highly available architectures are redundant devices for data and services and failover, once some servers are down,

Switch the service to another available server, and if the disk is damaged, the data is read from the backed-up disk.

A typical site design typically follows the following basic layered architecture model:

The typical layered model is three layers, that is, the application layer, the service layer, the data layer, each layer has the independence.

The application layer is responsible for the specific business logic processing, the service layer is responsible for providing the services that can be taken, the data layer is responsible for data storage and access.

Understanding: Application Layer--web Server that piece, responsible for request distribution

Service Layer-a specific program that continuously accepts requests and processes them

Data layer-where data is stored

Small and medium-sized web sites in a specific deployment, the application tier and service tiers are typically deployed together ( should be unnecessary and resource-efficient ) and the data tier is deployed separately.

The following is the first step in the evolution of the site architecture:

In the complex large-scale Web site architecture, the granularity is smaller, more detailed, the structure more complex, the server size is larger,

However, it is usually possible to divide these servers into these three tiers:

Different business products will be deployed in different server clusters, such as the library of a site, paste, Wikipedia, etc. belong to different products, can be deployed in their own separate server cluster, irrelevant.

These products will also rely on a number of common reuse services, such as sign-in service, session management services, and other reusable business services deployed on separate server clusters.

As for the data tier, data storage and access services, such as database services, file services, and caching services, are deployed on their own separate server clusters.

The hierarchical architecture of large web sites and the distributed deployment of physical servers makes it possible to have different availability characteristics for servers at different levels.

The impact of shutting down services or server outages is also different, and high-availability solutions vary greatly.

Servers located at the application tier are typically designed to respond to high concurrent access requests by using a load Balancer device to group a cluster of servers together to provide services externally.

When a load balancer device is monitored by a heartbeat and other means to be unavailable to an application server, it is removed from the cluster list.

and distribute the request to other available servers in the cluster so that the entire cluster remains available for high-availability applications.

Servers located at the service level are similar to servers in the application tier, and are also highly available by cluster mode.

Only these servers are accessed by the application layer through the Distributed Service invocation framework, and the Distributed service invocation framework implements software load balancing in the application-tier client program.

and through the service registry to provide services to the server heartbeat detection, the discovery service is not available, immediately notify the client program to modify the service access list, eliminate the unavailable server.

The server at the data layer is very special, the data server is stored data, in order to ensure that the server downtime data is not lost,

The data Access service is non-disruptive and requires synchronous data replication during data writing, and data is written to multiple servers for redundant data backups.

When the data server goes down, the application switches the access to the server that has the backup data.

The frequency of site upgrades is generally very high, large sites released once a week, small sites released several times a day.

Every time a Web site is published, the service needs to be shut down and the system redeployed, the whole process equivalent to server downtime.

Therefore, the usability architecture design of the site not only to consider the actual hardware failure caused by the outage, but also to consider the site upgrade release caused by the outage,

While the latter is more frequent, it is not possible to reduce the availability of design standards because the system can receive occasional downtime failures.

High Availability--site architecture

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.