P
P
Pavel Blum2018-10-29 00:35:22
linux
Pavel Blum, 2018-10-29 00:35:22

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

6 answer(s)
X
xmoonlight, 2018-10-29
@PavelBlum

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 .
3. Well, we create a CDN cluster if different geo-zones and / or fault tolerance are planned.
4. We put protection on website scripts: here
PS: Depending on the type and complexity: you can use Docker in production or only for development environment.

I
index0h, 2018-10-29
@index0h

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.

A
Anton Kucherov, 2018-10-29
@DexterHD

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/

P
Puma Thailand, 2018-10-29
@opium

If everything is optimal enough and there are no stupid things, you can stick it on one server and everything will be ok

I
Ivan Shumov, 2018-10-29
@inoise

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

R
Ranwise, 2018-11-03
@Ranwise

read The System Design Primer for some application architecture examples

Didn't find what you were looking for?

Ask your question

Ask a Question

731 491 924 answers to any question