Бэкенд-технологии, которые должны знать фронтенд-разработчики

Hosting Fozzy

Даже если вы работаете фронтенд-разработчиком, вам все равно необходимо целостное понимание архитектуры вашего сайта. Эти три элемента являются наиболее важными для понимания.

Бэкенд-технологии, которые должны знать фронтенд-разработчики

Работая фронтенд-разработчиком, вы потратите большую часть времени на создание интерфейса веб-сайта. Этот интерфейс может включать в себя запросы API к серверу приложений для данных, управление состоянием приложения и его стиль в соответствии с потребностями разработчиков.

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

Каждый разработчик интерфейса должен знать эти три технологии, хотя бы абстрактно: сети доставки контента, балансировщики нагрузки и кэш Redis. Эти технологии оптимизируют взаимодействие между клиентом и сервером, и хотя с ними, скорее всего, справится бэкенд-разработчик, с таким же успехом их можно поручить компетентному фронтендору.

CDN (сеть доставки контента)

CDN хранит все кешируемые активы (JSS, CSS, HTML) в сети пограничных узлов (также известных как серверы), которые находятся между сервером вашего приложения и клиентами, которые отправляют запросы на ваш веб-сайт. Эта структура может значительно повысить производительность вашего веб-сайта, поскольку она уменьшает физическое расстояние между вашими пользователями и содержимым, к которому они обращаются. CDN также уменьшит количество запросов, на которые должен будет отвечать исходный сервер, поскольку серверы CDN будут обрабатывать большую часть запросов к клиентам. Amazon, Cloudflare и Akamai — это провайдеры CDN, с которыми вы должны быть знакомы.

Балансировщик нагрузки

Балансировщик нагрузки, как следует из названия, чередует запросы к URL-адресу вашего веб-сайта между множеством серверов. Это еще один способ повысить производительность сайта, поскольку он может значительно снизить объем запросов к серверам вашего сайта. Важно отметить, что балансировщик нагрузки находится за CDN, а это означает, что любые запросы к вашему веб-сайту сначала будут попадать в CDN для кэшированных ресурсов. Только если запрос по-прежнему требует дополнительной обработки, он будет передан балансировщику нагрузки. Многие алгоритмы могут диктовать способ балансировки ваших запросов с помощью балансировщика нагрузки. Самый простой и распространенный — циклическая балансировка, при которой балансировщик нагрузки отправляет каждый последующий запрос на следующий сервер в списке один за другим.

Редис

База данных Redis предоставляет способ кэширования данных в памяти на сервере, что позволяет клиентам пропускать запросы данных из базы данных. Это необходимо, потому что запросы к базе данных выполняются очень медленно по сравнению с чтением информации из памяти. Базы данных Redis фактически хранят ваши данные в виде строк, что позволяет очень быстро извлекать их из памяти и отправлять обратно запрашивающей стороне.

Обычная архитектура Redis заключается в том, чтобы разместить его рядом с вашим сервером в качестве «последней меры защиты» между входящими запросами и сервером, что означает, что Redis будет запрашиваться после того, как запрос уже прошел через CDN и был назначен сервером. Если результат доступен в Redis в виде строки, сервер может быстро вернуть эти данные. В противном случае он сделает запрос к базе данных, а затем кэширует результат для следующего запроса.

Подведение итогов

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

Hosting Fozzy

Оцените статью
Поделиться с друзьями
Валерий Матафонов

Автор блога WM-IT.pro. Занимаюсь разработкой и оптимизацией сайтов с 2010 года.

WM-IT.pro - Блог об информационных технологиях
Добавить комментарий