Понятие и классификация web-приложений


Download 24.16 Kb.
bet3/3
Sana21.06.2023
Hajmi24.16 Kb.
#1638644
1   2   3
Bog'liq
web

Полнотекстовый поиск (7). Порой приложениям необходимо реализовать поиск по некоторому текстовому вводу. В результате приложение возвращает наиболее «релевантные» результаты. Технология, использующая эту функцию, обычно называется «полнотекстовым поиском» и использует инвертированный индекс для быстрого поиска документов, содержащих ключевые слова запроса.
На рисунке 1.3 представлен пример инвертирования данных для полнотекстового поиска. Из каждого заголовка взяты слова и для каждого слова проставлены в соответствие уникальные идентификаторы документов, которые им соответствуют. При этом различные предлоги и слова-разделители не входят в индексацию.
Рисунок 1.2 – Пример инвертированного индекса для полнотекстового поиска

Функционал полнотекстового поиска присутствует в некоторых баз данных (например, его поддерживает MySQL). Однако принято для этого запускать отдельный сервис. Самая популярная полнотекстовая поисковая платформа сегодня — Elasticsearch.


Службы (8). Иногда приложения достигают таких размеров, что выполнить запрос пользователя один сервер не успевает достаточно быстро. В таком случае, принято разделять логику на несколько «служб», каждая из которых будет заниматься только своим назначением. Между собой службы могут свободно взаимодействовать. Благодаря такому разделению приложение проще масштабировать горизонтально за счет того, что каждая служба может находиться на своем сервере. Например, в Вконтакте имеются несколько служб:
служба учётных записей хранит пользовательские данные для всех сервисов компании, что позволяет работать перекрёстно;
служба контента хранит метаданные для видео, аудио и изображений, а также предоставляет интерфейсы для загрузки содержимого и просмотра истории загрузок.
Хранилище данных (9). Когда приложение достигает некоторого масштаба, для хранения необработанных данных, таких как файлы, изображения и многие другие, подключают дополнительные внешние хранилища, например AWS Kinesis. Они помимо хранения данных,
предоставляют услуги анализа данных.
Облачное хранилище (10) — простой и масштабируемый способ для хранения и обмена данными через интернет. Его можно использовать для хранения и доступа к чему угодно, что можно хранить в локальной файловой системе, пользуясь преимуществами RESTful API через HTTP. Решение от Amazon S3 на сегодняшний день является самым популярным облачным хранилищем, и его широко используют в Storyblocks для хранения видео-, фото- и аудиофайлов, CSS- и JavaScript-файлов, данных действий пользователей и многого другого.
CDN (11) расшифровывается как «Content Delivery System» (система доставки контента). Когда приложение становится достаточно распространено, удаленность пользователя от сервера становится проблемой, так как запрос от Америки до России может идти от 0.2 до 1 секунды, и это только в одну сторону и только ради одного файла. CDN позволяет намного быстрее, чем с исходного сервера, отправлять статические HTML-, CSS-, JavaScript-файлы и изображения. При запросе пользователем некоторой картинке, CDN кеширует результат его запроса. Так как сервер CDN располагается заметно ближе к пользователю, контент доберется до него быстрее. Например, пользователь из России запрашивает страницу с сайта, серверы которого находятся в Америке, но статические файлы для этой страницы загружаются с сервера CDN в Европе.
Download 24.16 Kb.

Do'stlaringiz bilan baham:
1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling