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

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

  • Давление в базе данных резко возросло.Информация о горячих товарах, запросы на инвентаризацию мгновенно попадают в базу данных, что приводит к лавине услуг.
  • Проблема перепродажи товарных запасов.В условиях одновременной работы низкая производительность традиционных блокировок транзакций базы данных может легко привести к неправильному учету запасов и “перепродаже”, что приведет к потерям капитала и жалобам клиентов.
  • Реакция крайне медленная.Пользовательские страницы лагали и крутились, запросы на заказы долгое время оставались без ответа, что в итоге привело к краху пользовательского опыта, и кампания была проиграна.
  • Атака на вредоносный запрос.Скрипты-скальперы и инструменты для чистки захватывают ресурсы обычных пользователей и подрывают справедливость мероприятия.

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

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

На приведенной ниже схеме наглядно показано, как построить надежную архитектуру светской системы с помощью продуктов AliCloud:

AliCloud Redis питает спайк-систему: кэширование горячих данных и лучшие практики выведения запасов - LikaCloud

Основные идеи программы заключаются в следующем“Многоуровневый перехват, асинхронизация и конечная согласованность”.

Рабочий процесс.

  1. Уровень доступа и защиты трафика.Запросы пользователей сначала проходят черезУскорение краевой безопасности (ESA)возможноCDNБыстро вернитесь к ресурсам статической страницы, а затемБрандмауэр веб-приложений (WAF)Очистка вредоносного трафика.
  2. Уровень бизнес-логики.чистый потокБалансировка нагрузки (SLB)Распределите по серверам приложений без статических данных (ECSвозможноВычисление функций FC), выполняют базовые проверки, такие как идентификация пользователя и соответствие требованиям к робозвонкам.
  3. Кэш-память ядра и вычислительный слой.После того как проверка на соответствие требованиям пройдена, на стороне сервера вызывается функцияОблачная база данных Tair/Redis EditionОн также может использоваться для атомарной проверки и предварительного вычета запасов, регистрации статуса покупки пользователя и мгновенного возврата результата.
  4. Асинхронный уровень обработки заказов.Успешные запросы на предварительное вычитание отправляются в виде сообщений наОчереди сообщений RocketMQ EditionДля достижения экономии пикового трафика. Нижестоящие сервисы потребляют сообщения асинхронно для выполнения трудоемких операций, таких как создание заказов и сохранение данных в базе данных.
  5. Уровень персистентности данных.​ ​Облачная база данных RDS MySQL Editionв качестве конечного хранилища данных, используя егоПодсказка по инвентарюФункция эффективно обрабатывает обновления строк hotspot для обеспечения конечной согласованности с Redis.
  6. Полный мониторинг ссылок.​ ​Служба мониторинга приложений в реальном времени (ARMS)Он предоставляет полную информацию о производительности канала связи, что позволяет быстро находить узкие места.

Ценностное предложение.Переваривая 99% запросов на чтение и операции вычитания из инвентаря на уровне кэша и позволяя только небольшому числу успешных запросов попасть в базу данных, это решение полностью решает болевую точку, о которой шла речь во введении, и позволяет обрабатывать десятки или даже сотни тысяч запросов в секунду.

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

сборкииграть рольОсновные рекомендации по конфигурации/выборуПочему стоит выбрать его
Облачная база данных Tair/Redis EditionОсновной центр системы. Занимайтесь:
1.Горячий кэш данных: Подробности о продукте в кэше.
2.Удержание товарно-материальных ценностей: черезDECRилиLuaСкрипт Atomic Deduction Inventory.
3.ограничение потока запросов (вычисления): черезINCRВключает ограничение трафика по размеру пользователя/IP.
4.маркер состояния: ИспользованиеSETNXОтмечайте пользователей, уже сделавших заказ, чтобы предотвратить дублирование покупок.
-выбор: Выборна основе памятиилитип постоянной памятиэкземпляров, в первую очередь производительность.
-настроить: Открытьобъективизация(AOF), чтобы предотвратить потерю данных при перезагрузке.
-построить: УсыновлениеКластерное изданиеАрхитектура позволяет легко масштабировать производительность.
Обеспечивают сверхвысокую пропускную способность и атомарные операции, производительность которых намного превышает производительность базы данных. Версия AliCloud обеспечиваетвоспоминания о данныхБесшовное расширение и сжатиеи другие расширенные возможности при простом обслуживании.
Очереди сообщений RocketMQ Edition“Пути затопления” и “буферные зоны” системы. Занимайтесь:
пиковое сокращение: Преобразование мгновенных синхронных запросов на размещение заказов в асинхронные сообщения, которые плавно отправляются в нижестоящие службы обработки заказов, чтобы избежать перегрузки этих служб.
-выбор: ВыборКластерное изданиедля обеспечения высокой доступности.
-настроить: Творчествопоследовательное сообщениеТема, которая гарантирует последовательный характер заказов на один и тот же товар.
Чрезвычайно высокая пропускная способность и надежная укладка сообщений с поддержкойсообщение о транзакцииЭто гарантирует, что бизнес-логика в конечном итоге будет последовательной и идеально подходит для асинхронного разделения.
Облачная база данных RDS MySQL EditionСистема “максимального сохранения данных”.. Занимайтесь:
Сохранение окончательных данных: Получение информации о заказе от асинхронного рабочего для завершения окончательного вычета запасов, создания заказа и других операций по сбросу.
-характеристика: Настоятельно рекомендуетсяПодсказка по инвентарюфункция, которая в несколько раз повышает производительность при обновлении одной строки инвентаря при высоком параллелизме.
-построить: УсыновлениеHigh Availability Edition(Развертывание мультидоступности) Гарантированная надежность.
Как зрелая и стабильная реляционная база данных, ACID-характеристики данных гарантированы.Функция Inventory Hint специально разработана длясцена всплеска (вычисления)Оптимизация для устранения последнего узкого места в производительности.
Edge Security Acceleration (ESA) / CDNПервый барьер в системе. Занимайтесь:
Ускорение и защита: Кэширование статических ресурсов (HTML, CSS, JS, изображений) активных страниц для перехвата большинства пользовательских запросов на пограничных узлах, что значительно снижает нагрузку на сайт-источник.
-настроить: Установка разумного времени истечения кэша для страницы с шипомПредварительный нагревиобновить (окно компьютера)Глобальная сеть узлов обеспечивает миллисекундный отклик и интегрирует возможности защиты от DDoS, чтобы повысить удобство работы пользователей и одновременно обеспечить безопасность.
Брандмауэр веб-приложений (WAF)“Охранники” для системы.. Занимайтесь:
Щеточная изоляция и фильтрация: Точное выявление и блокирование скриптов для скальпинга, CC-атак, SQL-инъекций и других вредоносных запросов для обеспечения справедливости деятельности и безопасности бизнеса.
-настроить: Включитьчеловеко-компьютерная верификацияCC SecurityИндивидуальный прецизионный контроль доступаПравило ограничивает трафик по шипованным URL.Обеспечьте комплексную защиту веб-приложений для вашего бизнеса, не внося изменений в рабочий код, и легко справьтесь с проблемами шантажа.
Служба мониторинга приложений в реальном времени (ARMS)“Монитор панорамы” системы.. Занимайтесь:
Полная ссылка доступна: Отслеживайте каждый запрос от внешнего API к внутренним Redis, MQ и DB, чтобы быстро обнаружить узкие места и аномалии в производительности.
-настроить: для интерфейсов ядра шипа, команд Redis, настроек кучи MQОбзор бизнесаиПравила сигнализацииПредоставляет возможности сквозного мониторинга производительности, обеспечивая наглядное представление сложных распределенных систем и быстрое устранение неполадок.

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

  • ⚡ Высочайшая производительность с миллисекундным откликом.Redis работает в памяти и имеет асинхронную архитектуру, легко справляется с миллионами QPS, а пользовательские заказы выполняются плавно.
  • ? ️ Данные надежны и исключают перепродажу.Атомарные операции Redis + скрипты Lua гарантируют точное предварительное удаление, в сочетании с транзакциями RDS и Inventory Hint, чтобы гарантировать, что инвентарь в конечном итоге будет согласован и никогда не будет переполнен.
  • ? ️ Экономия потока и стабильность системы.Асинхронная развязка RocketMQ, эффективно противостоящая переходным пикам трафика, обеспечивает бесперебойную работу базы данных и сервисов.
  • ? Безопасность и соответствие требованиям, справедливость и надежность.С помощью WAF, системы защиты от DDoS и других средств она создает трехмерную систему защиты от границ до облака, эффективно выявляет и перехватывает вредоносные запросы, а также гарантирует справедливость действий.
  • ? Гибкое масштабирование для оптимизации затрат.Все основные продукты поддерживают эластичное наращивание емкости по требованию и могут быть уменьшены после проведения мероприятия, что позволяет эффективно контролировать расходы.

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

  • Сценарии применения.
    • Продвижение электронной коммерции.Здесь можно приобрести популярные товары на фестивалях шопинга, такие как “Double 11” и “618”.
    • Ограниченное издание.Например, дебют новых мобильных телефонов, лимитированная серия кроссовок или билеты на концерт.
    • Захват ваучера по времени.Регулярные кампании по сбору купонов платформы и красных пакетов.
  • Применимые клиенты.
    • Все платформы электронной коммерции, онлайн-образования, системы продажи билетов и другие предприятия, которые сталкиваются со спешными операциями с высоким параллелизмом.
    • Клиенты, чей пиковый бизнес-трафик сильно отличается от ежедневного и требует эластичных ресурсов для его удовлетворения.
    • Клиенты, требующие высочайшего уровня согласованности данных и не терпящие перепродаж.

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