1. Remote Deployment and nearby Route access to eliminate single point of failure;
(Principles of distributability and scheduling)
2. Data Reporting and monitoring platform;
(User behavior data, system performance monitoring data, reporting of system exceptions and business-related data)
Iii. Hierarchical Data Storage principle: Single-memory cache storage, memory cache + asynchronous update, memory cache + synchronous update;
(Analyze the user behavior model from three dimensions to determine the storage policy of the relevant data: 1. Can I tolerate the loss of user data? 2. Can we endure the non-timeliness of data?
3. What is the proportional distribution of data read/write ?)
Iv. Principle of dynamic and static Separation;
(Static as much static as possible. In code and process deployment, prepare the system design for dynamic/static separation on the DNS layer)
5. Principles of separation of light and weight;
(Keep the separation of access and business processing, and make the access light as much as possible, so that the system has a good throughput. The processing is asynchronous as much as possible, so that smooth expansion can be made)
6. Remove the service dependency principle: the impact of other services in the same IDC on the system, isolation and overload protection of third-party calls to system interfaces, and dependency on third-party services
Monitoring and security protection principles.
VII. Flexible availability principle;
(The gray-scale experience in case of exceptions is handled, and the key processing paths and non-key paths are distinguished. The system design should convert the key paths into non-key paths as much as possible)
8. asynchronous principle;
(Concatenate various processing modules using technologies such as memory pipelines and operational flow)
9. grayscale principle;
(The gray release policy is to perform gray upgrade based on the user code segment, user IP segment, user VIP level, user's city, etc. to ensure smooth iteration of the system)
10. Fast Response to exceptions and one-click switching principle;
(IDC power failure? What is the cost of switching the system to a normal one? What about time? How many operations do I need? A cow's system can switch by clicking a button in the management background, and then clicking it will switch back)
11. lossy service principles;
(The principle of providing massive services at a low cost)
12. All simple processing principles, such as true, false, and true!
(Simplification of the solution, evaluation of allowable errors, etc)
(Add the following principle-tenfyguo 20100118)
13. Make full use of the DNS layer to design the system's distributability.
14th, differentiate system behavior and user behavior and design them separately, and even convert them at critical moments.
15. Adhere to the stateless design principle designed by app_server, and transform user behavior into system behavior, so that app_server has the stateless characteristics.
16. Load Balancing principles and smooth resizing.
17. Multi-level cache design and the routing design of each cache.
(Tenfyguo-20100120 supplement)
18. The principle of "Large System and minor implementation.
Nineteen, interface-oriented programming, service-oriented programming design principles, decoupling the dependencies between business modules.
20. Principles for converting strong transaction models to eventually consistent transaction models.
------ To be supplemented ....
Tenfyguo