Кейс: Аптечная сеть "Фамрленд"

Высоконагруженный сервис пуш-рассылок для аптечной сети «Фармленд»

Задача

С ростом пользовательской базы мобильного приложения «Фармленд» встала задача создания мощного, но гибкого канала коммуникации. Нужно было не просто заменить дорогие SMS на push, а построить отказоустойчивый сервис, способный:

  • Выдерживать пиковые нагрузки.
  • Интегрироваться с другими сервисами (остатков, корзины, статистики).
  • Предоставлять инструменты для тонкой маркетинговой сегментации.

Мы разработали и внедрили выделенный микросервис пуш-рассылок, который стал частью общей экосистемы.

Архитектура

  • 1

    Серверная часть (PHP)

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

    Клиентская часть (Swift и Kotlin):

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

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

Использование микросервисов

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

Кроме того, мы разработали отдельный микросервис для управления пуш-рассылками.

  • 1

    Старт с MVP и правильной архитектурой

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

  • 2

    Борьба с нагрузкой и оптимизация

    Рост числа пользователей выявил «узкие места». Мы провели комплексную оптимизацию:

    • Приоритизация очередей: Уведомления о статусе заказов получили высший приоритет над рекламными.
    • Шардинг базы данных: Самые большие таблицы с историей сообщений были разделены, что резко снизило нагрузку.
    • Распределенная отправка: Чтобы не «положить» сервер в момент пиковой активности, мы реализовали умную рассылку с учетом часовых поясов и текущей нагрузки на систему.
  • 3

    Внедрение мощных маркетинговых инструментов

    Мы превратили простой канал уведомлений в инструмент для роста среднего чека и удержания клиентов:

    • Глубокая сегментация: Рассылки можно targeted по истории покупок, просмотрам, брошенным корзинам и даже истории поиска (например, отправка промокода на товары для малышей пользователям, которые искали тест на беременность 9 месяцев назад).
    • Массовые рассылки через Excel: Маркетологи получили возможность легко загружать и отправлять персонализированные сообщения через удобный импорт из Excel.

Результат

  • Стабильная отправка 1 000 000+ пуш-уведомлений за одну рекламную кампанию.
  • Снижение нагрузки на основные сервисы и повышение общей отказоустойчивости системы.
  • Рост конверсии и LTV за счет персонализированных коммуникаций.
  • Гибкая система, готовная к дальнейшему масштабированию.

Технологический стек

  • Бэкенд
    PHP PHP
  • Базы данных
    MySQL с шардингом
  • Архитектура
    Микросервисы
    Очереди сообщений
  • Мобильные клиенты
    Swift Swift
    Kotlin Kotlin

Хотите такое же мощное и масштабируемое приложение
для вашего бизнеса? Готовы обсудить ваш проект!

Имя
Телефон
E-mail
Адрес сайта
О проекте
Бриф

Контакты

Возникли вопросы? Мы всегда готовы помочь!
Имя
Телефон
E-mail
Адрес сайта
О проекте
Бриф