Либрусек
Много книг

Вы читаете книгу «System Design для студентов» онлайн

+
- +
- +

Глава 1

Почему ваш код работает, пока вы тестируете, но падает, когда приходят другие

История, которая случалась с каждым

Давайте знакомиться.

Вы написали свой первый настоящий проект. Не лабу, не «калькулятор на JavaScript», а что‑то серьёзное. Например, приложение для заметок. Можно писать текст, прикреплять фото, всё сохраняется в облаке. Открываешь с телефона - заметка там. С ноутбука - тоже там. Красота.

Вы показали друзьям. Всё летает. Запостили в чат группы - 10 человек попробовали, всё работает. Вы счастливы.

Потом выложили ссылку на форум. Пришло 100 пользователей. Всё ещё летает.

Пришло 500. Начали жаловаться: «Сохраняется 5 секунд!». Пришло 1000. Приложение встало. Никто не может ничего сохранить.

Вы в панике. Открываете код. Всё написано правильно. Вы не понимаете, что случилось.

Я был на вашем месте. В моём первом реальном проекте (это был небольшой сайт для знакомых) всё работало идеально, пока нас не стало 200 человек. А на 201‑м всё упало. Потому что я хранил данные в файле на сервере, и 200 человек не могли одновременно записать в один файл. Они ждали друг друга. А ждать никто не любит.

С тех пор я понял одну важную вещь: 100 пользователей и 10 000 пользователей - это не одно и то же. То, что работает на маленьком масштабе, обязательно сломается на большом.

В этой главе я расскажу, почему так происходит. Потому что если вы поймёте причину, вы уже будете знать половину архитектуры.

Аналогия, которая объясняет всё

Представьте, что вы открываете маленький продуктовый магазин у дома.

В первый день покупателей мало. За прилавком стоит продавец. Он берёт продукты, пробивает чек, даёт сдачу. Очереди нет. Всё быстро.

Потом о магазине узнал весь район. Покупателей стало 500 человек в день. Один продавец уже не справляется - очередь. Вы нанимаете трёх продавцов. Всё снова хорошо.

Потом покупателей стало 5000 в день. Три продавца - это уже мало. Но вы не можете нанять 20 продавцов - они будут сталкиваться друг с другом за прилавком. Одна касса, одна дверь, один склад.

Вы поняли: надо не просто нанимать людей, а менять устройство магазина. Ставить несколько касс, расширять склад, нанимать отдельных людей для доставки.

Архитектура программ работает так же.

Первый этап - один сервер, одна база данных. Всё просто, как ларёк.

Продолжить чтение

Вход для пользователей

Меню
Популярные авторы
Читают сегодня
Впечатления о книгах
07.08.2026 11:54
Мило, легко читается, когда надо голову расслабить, отлично. Немного фэнтази, но большинство книг о любви фэнтази. На любителя, мне понравилась, ...
07.08.2026 11:41
Прочитала на одном дыхании. Как душевный разговор с родным сердцу товарищем. Мудрая, веселая, душевная, приятная книга! Разобрала на цитаты. Реко...
07.08.2026 11:36
Не люблю и не читаю серии(одна история на несколько книг). Но эта меня удивила и заставила с нетерпением ждать продолжения
07.08.2026 11:33
Жаль ,что закончилась....Читала с удовольствием. Жизнь ,есть жизнь. Всё правильно. С удовольствием начну читать следующую книгу автора !!
07.08.2026 11:29
Поставлю пятерку, хотя по мне слишком всё-таки затянуто копание в эмоциях, эмоциональные качели, повторения, дни сурка. Скорей всего для эмоциона...
07.08.2026 11:27
Хотелось бы, чтобы эту книгу прочло как можно больше людей. Такие истории не должны оставаться незамеченными