Введение (анализ болевых точек)

Как архитектор или разработчик платформы электронной коммерции, испытываете ли вы любовь/ненависть к предстоящим крупным распродажам? Такие кампании, как секундные и ограниченные по времени распродажи, могут принести огромный трафик и продажи, но технические проблемы, стоящие за ними, могут вызывать головную боль:

  • Мгновенное затопление потока.В момент начала события трафик системы возрастает в десятки и даже сотни раз по сравнению с обычным ровным состоянием, и традиционные кластеры фиксированных ресурсов мгновенно оказываются перегруженными, что приводит к недоступности сервисов.
  • Затраты ресурсов и бездействие.Если вы круглый год поддерживаете кластер с высокой провизией, чтобы справиться с пиковыми нагрузками, большое количество вычислительных ресурсов простаивает в неактивные часы 99%, что приводит к огромной трате средств.
  • Риск перепроданности запасов.В сценариях с высоким параллелизмом, когда несколько запросов одновременно запрашивают и вычитают один и тот же инвентарь, очень легко “перепродать” (продать больше, чем реально есть в наличии), что приводит к серьезным потерям капитала и жалобам клиентов.

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

Диаграмма и обзор архитектуры решения

Следующая архитектурная схема наглядно демонстрирует основной состав и поток данных спайк-системы на базе AliCloud Serverless Application Engine (SAE).

AliCloud Serverless Application Engine (SAE): секундная архитектура без перепродажи инвентаря - LikaCloud

Обзор архитектуры.

Сначала запрос пользователя проходит черезБалансировка нагрузки CLBиШлюз микросервисов MSEВыполняют распределение трафика и унифицированную аутентификацию. Основная бизнес-логика (например, секунды, заказы) развернута вБессерверный движок приложений SAEКроме того, SAE может очень быстро увеличивать емкость в течение 1 секунды в соответствии с количеством одновременных запросов в реальном времени, что позволяет легко справляться с пиками трафика, и автоматически сокращать ее до 0 после окончания события для достижения оптимальной стоимости.

Запрос на шип ключа поступает и сначала посещаетОблачная база данных Redis EditionВыполняет предварительное вычитание запасов, используя атомарные операции Redis для обеспечения точности инвентаризации. После успешного вычитания генерируется асинхронное сообщение о заказе, которое записывается в файлОчередь сообщений RocketMQСлужба последнего заказа в SAE потребляет сообщение и асинхронно завершает сброс базы данных, что значительно сокращает основную базу данныхRDSДавление

Ценностное предложение.Это решение решает проблемы стоимости ресурсов и пиковой стабильности за счет чрезвычайной эластичности SAE, а также принципиально устраняет перепродажу запасов благодаря схеме “атомарное вычитание Redis + асинхронная очередь сообщений”.

Основные продукты и компоненты

название компонентаиграть рольОсновные рекомендации по конфигурации/выборуПочему стоит выбрать его
Механизм бессерверных приложений (SAE)основной вычислительный механизмРазмещение микросервисных приложений, таких как логика спайков, сервисы заказов и многое другое.Рекомендуется включитьэластичность по времени(расширяется перед началом мероприятия) иЭластичность индикатора(Динамическое масштабирование на основе показателей процессора/валюты).Отсутствие необходимости управлять серверами, обеспечение эластичного масштабирования, поддержка сжатия до 0, оплата за использование, идеальное соответствие сценарию второго убийства.
Облачная база данных Redis EditionУровень кэша и центр вычитания запасов. Кэшируйте данные горячей точки, такие как детали продукта; поDECRОжидание атомарных команд для проведения инвентаризации во избежание перепродажи.опцияна основе памятиТехнические характеристики гарантируют высокую производительность; рекомендуется включатьобъективизацияВ случае потери данных.Обеспечение сверхвысокой производительности чтения/записи и атомарных операций с данными - ключ к решению проблемы высоко параллельной инвентаризации.
Очередь сообщений RocketMQАсинхронная развязка и снижение пиковой нагрузки. Преобразование успешных спайк-запросов в асинхронные сообщения о заказах для буферизации переходного трафика и защиты нижележащих баз данных.Рекомендуемое использованиепоследовательное сообщениеГарантированная последовательность обработки заказов на один и тот же товар.Высокая пропускная способность и высокая надежность, способность накапливать огромные сообщения, чтобы не потерять всплески запросов и повысить стабильность системы в целом.
Облачная база данных RDS MySQLСохранение окончательных данных. Хранит основные данные о продукте, информацию о конечном заказе и т.д.опцияHigh Availability Edition(один основной и один резервный) и выбирайте характеристики в зависимости от масштаба работы.Устранение проблем с эксплуатацией и обслуживанием базы данных, гарантия надежности данных, очереди сообщений для достижения максимальной согласованности.
Движок микросервисов MSEШлюз для микросервисов. Обеспечивает маршрутизацию, аутентификацию, ограничение потока, объединение и другие возможности, а также является единой точкой входа и барьером безопасности для системы.Настройка для интерфейса шипаточное ограничение движенияЭто позволяет предотвратить перегрузку внутренних служб вредоносными запросами.Повышение безопасности, стабильности и наблюдаемости системы, чтобы разработчики могли больше сосредоточиться на бизнес-логике.

Краткое описание преимуществ программы

  • 🚀 Секунды стойкости, никогда не падайте духом.SAE может завершить расширение экземпляров в течение 1 секунды, легко справляясь с миллионным параллелизмом, чтобы гарантировать, что сервис всегда будет в сети во время события.
  • 💰 Оптимизация затрат, оплата по факту.Счета за услугу выставляются в соответствии с фактическим использованием ресурсов, а мощности автоматически сокращаются после окончания деятельности, что позволяет снизить стоимость ресурсов более чем на 70% по сравнению с традиционной архитектурой.
  • 🛡️ Устранение перепродаж и защита от потерь капитала.Основанная на Redis атомарная операция выведения запасов, начиная с логического уровня, позволяет полностью решить проблему перепродажи, защитить интересы предприятий.
  • 🔧 Свободный от операционной деятельности и ориентированный на бизнес.Полностью управляемые облачные предложения освобождают операционные команды от управления инфраструктурой и позволяют быстрее переходить к выполнению бизнес-функций.

Сценарии применения и применимые клиенты

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

Похожие ссылки

Механизм бессерверных приложений (SAE) Управление микросервисами, ведение журналов, мониторинг и другие вспомогательные возможности.
SAE Бесплатный пробный пакет Заявите о своем облачном продукте прямо сейчас и начните практиковать в облаке!
Облачная база данных Redis Edition Несколько носителей информации (память, постоянная память, диск)
Облачная база данных RDS MySQL Эластичная масштабируемая онлайн база данных MySQL
Движок микросервисов MSE Центр регистрации конфигураций, управление микросервисами, планирование задач, шлюз Cloud Native
Очередь сообщений RocketMQ Распределенная платформа унифицированной обработки сообщений, событий и потоков
Создание высокопроизводительной системы шипов Как построить высокопроизводительную шипованную систему с помощью продуктов AliCloud