Узнайте об экономичном и нестандартном подходе AWS CloudFront к отслеживанию поведения пользователей.

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

Отслеживание активности на веб-сайте

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

Совет. Используйте Bit.dev для создания, совместного использования и организации независимых компонентов для ваших маркетинговых страниц. Это быстрый способ создавать новые страницы при сохранении единообразия пользовательского интерфейса.

Узнай больше об этом здесь:



Обработка данных о кликах в масштабе

Одна из основных проблем при реализации отслеживания активности заключается в том, что сервер может быть легко перегружен сообщениями об активности, что вызывает проблемы с масштабируемостью. Следовательно, нам нужно хранить и обрабатывать данные партиями, чтобы сделать обработку эффективной. Этот подход называется потоковой обработкой, и нам понадобится набор инструментов для их выполнения. Например, в облаке AWS мы можем настроить Amazon API Gateway в качестве прокси-сервера и пересылать сообщения в AWS Kinesis, чтобы сначала временно сохранить сообщения об активности. Таким образом, даже если приходит большое количество сообщений об активности, мы можем сохранить их без значительного увеличения вычислительной мощности.

Чтобы смягчить эту проблему, мы можем настроить AWS Kinesis на запуск функции Lambda. Следовательно, этот подход может масштабироваться до тысяч сообщений в секунду. Тем не менее, это будет стоить адекватную сумму для каждой услуги, и главное преимущество состоит в том, что анализ происходит почти в реальном времени.

Но что, если обработка в реальном времени не является обязательным требованием, и вы хотите, чтобы обработка сообщений активности была чрезвычайно рентабельной при большом масштабе? Давайте узнаем, как реализовать обработку сообщений с помощью обработки журналов AWS CloudFront.

Использование CloudFront для регистрации действий пользователей

Если вы новичок в AWS CloudFront, вы можете рассматривать его как сеть доставки контента и прокси. Интересная особенность CloudFront заключается в том, что она позволяет регистрировать запросы, проходящие через CloudFront. Давайте посмотрим, как реализовать отслеживание активности пользователей с помощью функции журналов AWS CloudFront. Вы можете найти шаги для этого следующим образом.

  1. Сохраните небольшое однопиксельное изображение в S3 и обслуживайте его через AWS CloudFront. Этот шаг гарантирует, что мы кэшируем каждое изображение в CloudFront. Это также ускоряет отклик на журнал активности в браузере. Кроме того, еще одним преимуществом является то, что запрос одного пикселя из CloudFront отличается высокой масштабируемостью.
  2. После этого, запрашивая однопиксельное изображение, мы можем использовать параметры запроса для ввода информации об активности пользователя, и CloudFront будет регистрировать каждый запрос вместе с параметрами запроса. Преимущество здесь в том, что CloudFront будет возвращать однопиксельное изображение независимо от параметров и значений, отправленных в URL-адресе.
  3. Затем, когда пакет журналов записывается в Amazon S3, мы можем предварительно настроить функцию Lambda для обработки журналов активности, где мы будем анализировать информацию о действиях пользователя и сохранять ее в базе данных.

При таком подходе вы напрямую избавляетесь от затрат на Kinesis и API Gateway, где цены на CloudFront значительно ниже по сравнению с ними. Вы также можете найти подробности реализации аналитики журналов CloudFront в следующей статье Анализируйте журналы доступа к Amazon CloudFront в масштабе.

Резюме

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

Но есть несколько проблем при обработке журналов. Одна из них заключается в том, что доставка журнала может задерживаться до достижения S3. Следовательно, этот подход не подходит для обработки в реальном времени.

Кроме того, согласно документации AWS, существует небольшая вероятность того, что некоторые журналы могут быть пропущены. Следовательно, если вы цените каждое сообщение об активности пользователя, вам необходимо рассмотреть другой подход с использованием API Gateway и Kinesis.

Учить больше