HTML Diff
0 added 0 removed
Original 2026-01-01
Modified 2026-03-10
1 <p>Теги: web, балансировка нагрузки, веб-приложение, архитектура по</p>
1 <p>Теги: web, балансировка нагрузки, веб-приложение, архитектура по</p>
2 <p>Понимать архитектуру современного веб-проекта и знать концептуальные основы должен любой разработчик или тестировщик ПО. В этой статье мы рассмотрим типовую архитектуру веб-приложения. В первую очередь, давайте рассмотрим диаграмму ниже.</p>
2 <p>Понимать архитектуру современного веб-проекта и знать концептуальные основы должен любой разработчик или тестировщик ПО. В этой статье мы рассмотрим типовую архитектуру веб-приложения. В первую очередь, давайте рассмотрим диаграмму ниже.</p>
3 <p>Представьте, что вы пользователь и хотите найти в поисковике "сильный и красивый туман, пронизанный солнечными лучами в лесу". Для этого вы заходите в Google и набираете что-то в стиле "Strong Beautiful Fog And Sunbeams In The Forest". И вот, один из<a>первых результатов</a>отправляет вас на Storyblocks. Нажав на ссылку, вы перенаправляете<strong>веб-браузер</strong>на страницу с картинкой. В это самое время ваш браузер посылает на<strong>DNS-сервер</strong>запрос, дабы установить соединение со Storyblock, а потом, получив ответ, отправить запрос на сайт.</p>
3 <p>Представьте, что вы пользователь и хотите найти в поисковике "сильный и красивый туман, пронизанный солнечными лучами в лесу". Для этого вы заходите в Google и набираете что-то в стиле "Strong Beautiful Fog And Sunbeams In The Forest". И вот, один из<a>первых результатов</a>отправляет вас на Storyblocks. Нажав на ссылку, вы перенаправляете<strong>веб-браузер</strong>на страницу с картинкой. В это самое время ваш браузер посылает на<strong>DNS-сервер</strong>запрос, дабы установить соединение со Storyblock, а потом, получив ответ, отправить запрос на сайт.</p>
4 <p>Запрос поступает на<strong>балансировщик нагрузки</strong>. Балансировщик выбирает для обработки запроса<strong>один из веб-серверов</strong>, на которых работает сайт, причём делает это случайным образом. Выбранный веб-сервер извлекает часть информации об интересующей вас картинке из<strong>службы кэширования</strong>, а остальное он извлекает из основной<strong>БД</strong>. Если цветовой профиль для интересующего фото ещё не вычислен, соответствующая задача добавится в очередь заданий.<strong>Серверы</strong>выполняют обработку этих заданий асинхронно, обновляя БД с результатами.</p>
4 <p>Запрос поступает на<strong>балансировщик нагрузки</strong>. Балансировщик выбирает для обработки запроса<strong>один из веб-серверов</strong>, на которых работает сайт, причём делает это случайным образом. Выбранный веб-сервер извлекает часть информации об интересующей вас картинке из<strong>службы кэширования</strong>, а остальное он извлекает из основной<strong>БД</strong>. Если цветовой профиль для интересующего фото ещё не вычислен, соответствующая задача добавится в очередь заданий.<strong>Серверы</strong>выполняют обработку этих заданий асинхронно, обновляя БД с результатами.</p>
5 <p>Следующий этап - поиск похожих изображений, для чего в<strong>службу полнотекстового поиска</strong>поступает запрос с заголовком фото в качестве входных данных. В случае, если пользователь авторизован, информация об учётной записи загружается из БД учётных записей. Далее информация о просмотре веб-страницы поступает в<strong>firehose-хранилище</strong>для дальнейшей записи в<strong>облачное хранилище данных</strong>(данные из хранилища аналитики потом используют для обработки).</p>
5 <p>Следующий этап - поиск похожих изображений, для чего в<strong>службу полнотекстового поиска</strong>поступает запрос с заголовком фото в качестве входных данных. В случае, если пользователь авторизован, информация об учётной записи загружается из БД учётных записей. Далее информация о просмотре веб-страницы поступает в<strong>firehose-хранилище</strong>для дальнейшей записи в<strong>облачное хранилище данных</strong>(данные из хранилища аналитики потом используют для обработки).</p>
6 <p>Потом сервер рендерит HTML-страницу, отправляя её обратно вашему веб-браузеру, но путём прохождения через балансировщик нагрузки. Веб-страница включает в себя CSS- и Javascript-файлы, загруженные в облачное хранилище. Так как хранилище подключено к CDN, веб-браузер связывается с<strong>CDN</strong>, чтобы получить содержимое. И вот теперь-то, наконец, веб-браузер покажет вам нужную страницу. Естественно, на деле всё происходит довольно быстро.</p>
6 <p>Потом сервер рендерит HTML-страницу, отправляя её обратно вашему веб-браузеру, но путём прохождения через балансировщик нагрузки. Веб-страница включает в себя CSS- и Javascript-файлы, загруженные в облачное хранилище. Так как хранилище подключено к CDN, веб-браузер связывается с<strong>CDN</strong>, чтобы получить содержимое. И вот теперь-то, наконец, веб-браузер покажет вам нужную страницу. Естественно, на деле всё происходит довольно быстро.</p>
7 <p>В целом, именно так выглядит типовая архитектура веба, хотя могут быть и отличия. Если хотите рассмотреть каждый из процессов более детально, прочитайте статью "<a>Web Architecture 101</a>". Её автор, Jonathan Fulton, постарался рассказать всё, что необходимо для понимания архитектуры современного web-проекта.</p>
7 <p>В целом, именно так выглядит типовая архитектура веба, хотя могут быть и отличия. Если хотите рассмотреть каждый из процессов более детально, прочитайте статью "<a>Web Architecture 101</a>". Её автор, Jonathan Fulton, постарался рассказать всё, что необходимо для понимания архитектуры современного web-проекта.</p>
8 <p>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в<a>Otus</a>!</p>
8 <p>Хотите освоить современную IT-специальность? Огромный выбор курсов по востребованным IT-направлениям есть в<a>Otus</a>!</p>
9  
9