Highly available and scalable architecture
When designing a distributed business system, the basic problems are:
1. High availability (High Availability) 2. Scalable (methodology of Scalable- extension: AKF scale cube) 3. Extensible (Extensibility) 4. Fault tolerance (elastic design-Resilience) 5. High performance (High Performace) 6. Capacity Planning (Capacity Plan)
The above are the most basic business demands.
In the design of distributed basic systems, the basic problems are:
1. Architecture 2. Process 3. Communication 4. Name 5. Synchronize 6. Consistency and replication 7. Fault tolerance 8. Security.
The two influence each other and decide each other.
To understand highly available and scalable cores, you need to understand Replication, such as binlog,redis master-slave replication of mysql master-slave replication, etcd replication state machine replication based on raft, and replication will be simple if designed to be stateless at the business layer. It can be said that there is no high availability and scalability without replication.
Compare scalability with scalability:
The following figure summarizes the different levels of highly available and scalable means.
Source: http://www.cnblogs.com/xingzc/p/5757758.html
Https://wenku.baidu.com/view/5ffbfa2fae1ffc4ffe4733687e21af45b207fe59.html