http://www.lecloud.net/tagged/scalability
Review:
These articles were written in 2011 and based on web servers, so the design theories seem relatively simple today.
- Clones
- Servers behind LB shouldn’t store user-related data such as sessions on local disks or memory, those user-related data should be stored in external persistent cache.
- Databases
- NoSQL databases can take the place of MySQL sometimes, because MySQL is more expensive and harder to maintain.
- Cache
- Only memory cache is recommended, cache will make the service quicker.
- Cached objects instead of database Queries.
- Asynchronism
- Asynchronism aims to solve the problem of waiting for some time-consuming tasks.
- One way is to deal with some tasks in advance, but the limit is that these tasks must be regular.
- The other paradigm is to put a job into a job queue and tell the producer we have accepted you job. And when the job is done once we will inform users about it. Such as RabbitMQ.