Answer the question
In order to leave comments, you need to log in
How to build infrastructure for a large project?
Hello!
Can you please tell me how the project infrastructure should look like, with about 10,000 simultaneous visitors, about 500,000 - 1,000,000 users? The question of the correct placement of such a project is of interest - the number of servers, mirrors, anti-ddos. How should such projects be properly placed in production? I would appreciate any advice, thanks in advance.
Answer the question
In order to leave comments, you need to log in
1. Install Linux and increase the number of permanent connections (run as root: su/sudo):
echo 2000000 > /proc/sys/fs/nr_open
ulimit -n 2000000
2. And then, set up anti-ddos . Question from a series of finger to the sky.
The load in visitors is not measured. It is measured in rps and *bit/s. You also need to know the gluttony of your software to io + ram + cpu, sometimes also gpu.
The number of servers, methods of load distribution, all kinds of database replication, distribution between DCs are selected for a specific project.
It doesn’t happen in nature that it’s like a crap and you have 1kk active users out of nowhere, well, except maybe event projects like live broadcasts. That is why I recommend starting small, and then optimize and distribute the load between servers where necessary. For example, you have a stock photo: cdn is what you need. You have a messenger - it is worth allocating a handful of servers to maintain sockets with users + work well on the message history.
To get started, learn the principles of the application of 12 factors: https://12factor.net/ru/ These recommendations allow you to create applications that easily and simply scale, both horizontally and vertically.
After that, you can visit a good resource with articles on the topic of high loads: https://ruhighload.com/
If everything is optimal enough and there are no stupid things, you can stick it on one server and everything will be ok
If you need a reliable high availability system, then you are in the clouds. And this is not much about devops - more about networks and architecture. There are basic things like dynamic horizontal scaling and balancing, and there are not so basic things like low coupling. If you have an interesting project - contact
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question