TGViewer
Python Portal Python Portal @pythonportal · 50.2K subscribers
Post #5665 6.07K
Перевод 35 практических мыслей о системном дизайне от Рауля Джанго 😆

✅Основные принципы

1. Любая система — это компромисс → нельзя одновременно получить скорость, низкую стоимость и простоту.
2. Латентность накапливается → каждая добавленная миллисекунда на каждом слое превращается в боль для пользователя.
3. Масштабируемость ≠ производительность → одно про рост, другое про скорость.
4. Read vs Write пути → масштабирование каждого требует совершенно разных стратегий.
5. Проектируй под изменения, а не под идеал → требования будут меняться.

✅Базы данных и хранение

6. Индексы — это рычаг → колонки с высокой селективностью стоит индексировать, с низкой — чаще нет.
7. Репликация помогает чтению, партиционирование — записи → не путай эти вещи.
8. Dual writes — это иллюзия → без координации неизбежен рассинхрон.
9. Event store > очереди (иногда) → лучше трассируемость, хуже простота.
10. Инвалидация кэша — всё ещё самая сложная проблема → свежесть vs производительность — вечный компромисс.

✅Надёжность и согласованность

11. Идемпотентность спасает → ретраи без неё приведут к проблемам.
12. Fail fast, fail loud → тихие ошибки убивают системы.
13. Eventual consistency — это фича → а не баг, но только если бизнес это допускает.
14. Разрешение конфликтов в active-active — это бизнес-логика, а не инфраструктура.
15. Надёжность (durability) не бесплатна → синхронизация между регионами стоит денег и добавляет задержки.

✅Архитектурные паттерны

16. Микросервисы — это про организацию команды, а не про технологическую цель.
17. Сначала монолит, потом модульность, потом микросервисы → не прыгай раньше времени.
18. Choreography масштабируется, orchestration упрощает → выбирай по зрелости команды.
19. Serverless даёт фокус, но забирает контроль.
20. Очереди не убирают работу, они её сглаживают.

✅Наблюдаемость и эксплуатация

21. Трейсинг > логирование → логи говорят «что», трейсы — «почему».
22. Метрики деградируют без владельца → измеряй то, что кто-то реально использует.
23. Ретраи без backoff = DDoS на самого себя.
24. Dead-letter очереди — обязательны → в любой системе есть «ядовитые» сообщения.
25. Рычаги > крутилки → проектируй быстрые kill switch’и и механизмы ограничения blast radius.

✅Производительность и стоимость

26. Оптимизируй hot path, а не cold path.
27. Большинство узких мест — в базе данных, а не в коде.
28. Горизонтальное масштабирование лучше вертикального → пока координация не начинает всё ломать.
29. Тёплый кэш маскирует плохие запросы → проверяй и холодные старты.
30. Самый дешёвый ресурс — диск, самый дорогой — время.

✅Люди и процессы

31. Лучшая архитектура умирает без документации.
32. Design review — это не про диаграммы, а про компромиссы.
33. Маленькие PR — про скорость, большие — про контекст → нужен баланс.
34. Роль синьора — задавать неудобные вопросы «а что если».
35. Ни один дизайн не переживает первое столкновение с продом → но хороший — гнётся, а не ломается.

👉 @PythonPortal
  • 👍 16
  • ❤ 8
  • 🔥 6
More from @pythonportal
  1. Oct 6, 2026«Разбираемся в трансформерах и механизмах внимания» — краткое математическое введение в ме…
  2. Oct 6, 2026Начни изучать программирование GPU с одной полностью анимированной лекции на YouTube. Это…
  3. Oct 5, 2026«Основы компьютерного зрения» — бесплатная онлайн-книга издательства MIT Press, которая да…
  4. Oct 5, 2026DeepSeek выложила в открытый доступ библиотеку, которая ускоряет вычисления на GPU, лежащи…
  5. Oct 4, 2026Modern Robotics: Mechanics, Planning, and Control. Сохраните на потом. Это полноценный уче…
  6. Oct 4, 2026«Изучение математики. Почему память, практика и техника важнее таланта» Чтобы освоить мате…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →