TGViewer
METANIT.COM METANIT.COM @devnull22 · 5.81K subscribers
Post #1773 2.33K
Топ-15 базовых компонентов проектирования систем:

1. Балансировщик нагрузки — распределяет входящий трафик между несколькими внутренними серверами, чтобы ни один из них не был перегружен. Повышает доступность, отказоустойчивость и скорость отклика системы.

2. API Gateway — единая точка входа для всех клиентских запросов в архитектуре микросервисов. Отвечает за маршрутизацию, аутентификацию, ограничение частоты запросов и агрегацию запросов.

3. DNS (Domain Name System) — система доменных имён, преобразующая удобочитаемые доменные имена в IP-адреса.

4. Кэш — хранит часто запрашиваемые данные в оперативной памяти. Существенно снижает задержки и нагрузку на базу данных.

5. CDN (Content Delivery Network) — сеть доставки контента, которая распространяет статический контент (изображения, CSS, JS и т. д.) через пограничные серверы, расположенные ближе к пользователям. Снижает задержки и нагрузку на полосу пропускания, особенно в глобальном масштабе.

6. База данных — основное хранилище данных. Может быть SQL или NoSQL в зависимости от потребностей. Поддерживает структурированные запросы, индексацию, транзакции и надёжность хранения.

7. API — определяет, как сервисы взаимодействуют друг с другом, обычно через HTTP или gRPC. Обеспечивает модульное проектирование и чёткое разделение обязанностей.

8. Микросервисы — разбивает монолитное приложение на независимо развёртываемые сервисы. Повышает гибкость, изоляцию сбоев и масштабируемость.

9. Ограничитель частоты запросов — контролирует количество запросов, которые пользователь или сервис может сделать за определённый промежуток времени. Защищает API от злоупотреблений и обеспечивает справедливое использование.

10. Хранилище объектов — хранит большие двоичные объекты (изображения, видео, резервные копии) с высокой доступностью и надёжностью. Примеры: AWS S3, Google Cloud Storage и др.

11. Очередь сообщений — обеспечивает асинхронную коммуникацию между сервисами через очередь (например, Kafka, RabbitMQ). Помогает разделить системы и справляться с пиковыми нагрузками.

12. Шардинг — разбивает большие наборы данных на несколько баз данных или таблиц. Помогает масштабировать хранилище и улучшать производительность запросов.

13. Репликация — копирует данные с одного узла базы данных на другой. Повышает отказоустойчивость и производительность чтения.

14. Согласованное хеширование — метод распределения данных между узлами с минимальными нарушениями при масштабировании. Широко используется в системах кэширования и распределённого хранения.

15. Система мониторинга — отслеживает состояние системы, собирает логи и метрики, отправляет оповещения о сбоях или аномалиях. Критически важна для наблюдения за системой, отладки и обеспечения бесперебойной работы.
  • ❤ 6
  • 👍 3
  • 👏 1
More from @devnull22
  1. Mar 19, 2026Добавил в руководство по JavaScript главу про работу с датами и временем с помощью Tempora…
  2. Mar 19, 2026Роскомнадзор перестал полностью справляться с блокировками в интернете Роскомнадзор (РКН)…
  3. Mar 18, 2026Минцифры опубликовало законопроект о государственном регулировании ИИ. Закон должен начать…
  4. Mar 18, 2026Microsoft призвала разработчиков создавать ИИ-приложения в Electron на Windows 11 Microsof…
  5. Mar 18, 2026Oracle анонсировала проект Detroit, который будет развиваться в составе OpenJDK и нацелен…
  6. Mar 17, 2026Вышла новая версия платформы Java - JDK 26. JDK 26 — краткосрочная версия с поддержкой Pre…
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 →