[00:02] компоненты производственного веб- приложения. Это строительные блоки большинства масштабируемых и надежных производственных систем. Итак, начнем. Во-первых, конвейеры CI/CD — основа современных инструментов разработки, таких как GitHub Actions. Они [00:16] автоматизируют тестирование, сборку и развертывание с помощью CI/CD. Каждое изменение кода проходит проверку VED, прежде чем попасть в производственную среду. Больше никаких ручных вычислений и меньше головной боли из-за проскальзывания ошибок. Теперь давайте проследим путь запроса пользователя. Он начинается в [00:30] браузере. После разрешения DNS-имени запрос направляется на наши серверы приложений, но прежде чем он туда попадет, он проходит через два критически важных компонента: балансировщики нагрузки и обратные прокси. Представьте их как инструменты управления трафиком, такие как Engine X и XJ. [00:45] Прокси распределяют запросы между несколькими серверами приложений, балансируя их нагрузку и предотвращая перегрузку какого-либо одного сервера. Далее, Далее, сети доставки контента (CDN). Это [00:59] распределенные глобальные сети, обслуживающие статический контент, такой как изображения и JavaScript, ближе к пользователям. В результате — более быстрая загрузка и меньшая нагрузка на вашу основную инфраструктуру. Теперь запрос достигает ваших веб-серверов приложений. Они [01:12] обрабатывают всю вашу основную бизнес-логику, но часто им необходимо взаимодействовать с другими системами. Вот где вступает в дело API — подключение приложения. Для обработки сложной логики бэкэнд-сервисы взаимодействуют с системами третьих сторон или обрабатывают данные, а [01:27] системами третьих сторон или обрабатывают данные, а масштабируемость системы. Говоря о данных, далее у нас есть базы данных и кэширование. Что такое PostgreSQL или DynamoDB? База данных хранит основные данные, чтобы избежать узких мест. Мы используем [01:42] распределенные кэши (REDU), которые хранят часто используемые данные в памяти для повышения скорости. Для более ресурсоемких задач мы используем рабочие процессы (Job Workers). Не все можно сделать в режиме реального времени, поэтому для ресурсоемких или длительных задач полезны рабочие процессы (Job Cues). [01:56] Эти задачи передаются рабочим процессам (Workers), что обеспечивает быстроту и отзывчивость основной системы. Если приложению необходима функция поиска, сервисы, такие как Elastic функция поиска, сервисы, такие как Elastic Search, бесценны. Они предоставляют быстрые, [02:08] гибкие и большие наборы данных, помогая пользователю быстро находить то, что ему нужно. При таком постоянном изменении портов критически важен надежный мониторинг. Инструменты, такие как ProMethod, Grafana и Data, помогают отслеживать все: журналы, показатели производительности и использование ресурсов. [02:24] Это позволяет выявлять проблемы до того, как они повлияют на пользователей. Наконец, когда что-то идет не так, нам нужны надежные платформы оповещения, которые отправляют команде оповещения в режиме реального времени, чтобы обеспечить быстрое решение проблем. Никто не любит сюрпризов [02:39] в производственной среде, поэтому быстрые оповещения крайне важны. Вот и все ключевые компоненты архитектуры веб-приложения, готового к производству. Если вам нравятся видео, вам также может понравиться информационная рассылка по системному проектированию. Она охватывает темы и [02:53] тенденции в проектировании крупномасштабных систем. Ей доверяют 1 миллион читателей, подписанных trusted by 1 million readers subscribed at blog. bybo .