Read these three chapters and then look back at your system and feel ashamed. Because writing this system, is the faith to complete the work of the mentality to write, so a lot of good features from the imperfect, can not actually run, the original should even so few. One is their own attitude is not serious, two is because their theoretical foundation is not firm, because the early learning process a bit lazy, so in the design time and a lot of things are unexpected, which also led to the system is not perfect.
After the whole reader three chapters, it is found that to improve the system, it is necessary to save these three aspects to start. Usability, ease-of-use and scalability.
Let's take a look at usability first. Availability is related to system failures and their associated consequences. A system failure occurs when the system no longer provides the services described in its specification. This type of failure can be observed by the user of the system (person or other system). System availability is the percentage of time that the system is operating normally. System availability is generally defined as: α= average uptime/(average uptime + mean time to repair). There are two well-known examples. April 12, 2011, Amazon Cloud Computing service EC2 failed, its ESB service was unavailable, the failure lasted for several days, and eventually some data failed to recover. This failure has led to the impact of many well-known sites in the United States using Amazon services and has led to large-scale discussions about the security and reliability of using cloud computing. January 12, 2010, Baidu was hacked, its DNS domain name was hijacked, resulting in Baidu's entire station for several hours inaccessible.
Web site is not available is also known as the site failure, the industry often use the number of 9来 to measure the availability of the site, for most sites, 2 9 is basically available, the site is not available for less than 88 hours, 3 9 is higher available, the site year is less than 9 hours, 4 9 is a high availability with automatic recovery capability, The site's annual unavailability time is less than 53 minutes, such as QQ is 4 9, 5 9 is extremely high availability, the site is not available for less than 5 minutes a year. Usability index is an important index of website architecture design, it is the overall evaluation index of website or product. Web Usability is a more visible quality attribute, so the part of the system's usability can take more time and effort in architecture design. The primary means of achieving a highly available architecture is redundant backup and failover of data and services, and once some servers are down, the service is switched to the other available servers, and if the disk is damaged, the data is read from the backed-up disk. Therefore, in our "XXX system", not just to complete the system function is equal to complete the system, according to the availability of the system, good data backup and restore is one of the most important guarantee. But when we design and develop this system, we focus most of our energies on the realization of the function, which is a great misunderstanding. In the design of the database is also very important, encrypted storage, timely backup, save the log is a good way. To ensure the sustainable storage of data, data accessibility, in the case of multiple copies of data consistency, can better maintain our system, improve the usability of our system. When the server goes down, failover ensures that data access does not fail, failure confirmations, access transfers, and data recovery ensure that the site's data is not lost. For our system, to ensure high availability, we can also use the Publish script to complete the site's update release, which can reduce the restart of the server and redeploy, and will not affect user use.
The above said usability and ease of use, usability is the system to be able to use, can not Zooey the failure, which will result in a large number of users lost. Usability is based on usability and can be useful on a practical basis. Let's talk about extensibility. This is primarily to meet the needs of users who may be changing at any time and the possible increase in system functionality.
Today's websites, which want to be conspicuous, survive in the fierce competitive market and depend on who can launch new products faster and better. That means we need a more scalable Web site architecture to achieve a more efficient, more usable web site. This is the meaning of the site architecture.
Large Web site architecture Impressions