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

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

  • Товарные запасы перепроданы.Одновременные конфликты при чтении/записи базы данных приводили к тому, что заказы успешно формировались, несмотря на то, что фактический запас был распродан, что приводило к потере капитала и жалобам клиентов.
  • Узкие места в базах данных.Шипованные запросы обрушиваются на центральную базу данных подобно цунами, вызывая резкий рост числа процессоров и соединений, увеличение задержки ответа и даже лавину, которая приводит всю систему в состояние покоя.
  • Плохой пользовательский опыт.Страница загружается медленно, кнопки не реагируют, пользователь видит только сообщение “система занята” и в итоге разочарованно уходит.

Краткое содержание одним предложением.Если вы испытываете проблемы с перепродажей запасов, узкими местами в базе данных и стабильностью системы в сценариях с высоким уровнем параллелизма, то в этой статье вы найдете комплексное высокопроизводительное решение на базе Tencent Cloud TDSQL-C.

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

На рисунке ниже наглядно показана архитектура решения Tencent Cloud TDSQL-C на основе шпионов.

Как Tencent Cloud TDSQL-C (PostgreSQL Edition) решает проблему вычитания секунд при высоком параллелизме? - LikaCloud

Описание архитектурной схемы: Пользовательские запросы загружаются через ускоренные статические ресурсы Tencent Cloud CDN, а затем распределяются с помощью балансировки нагрузки CLB. Уровень бизнес-приложений развернут на CVM и обращается к Tencent Cloud Redis в качестве кэша данных горячей точки. Что особенно важно, основные транзакционные операции по выведению запасов напрямую выполняются высокопроизводительной и высокосовместимой базой данных TDSQL-C (версия PostgreSQL), что обеспечивает абсолютную согласованность данных и высокую производительность.

Обзор рабочего процесса.

  1. Доступ и распределение трафика.Запросы пользователей сначала ускоряются с помощью CDN Tencent Cloud для загрузки статических страниц, а затем равномерно распределяются по кластерам внутренних серверов с помощью балансировки нагрузки (CLB).
  2. Разделение для чтения и записи.Когда бизнес-сервер читает неосновные данные, такие как информация о товарах, он отдает приоритет доступу к кэшу Tencent Cloud Redis, что значительно снижает нагрузку на базу данных. Для выполнения основной транзакции - вычета запасов - приложение напрямую подключается к основному экземпляру TDSQL-C.
  3. Основной вычет.TDSQL-C использует мощные возможности обработки транзакций PostgreSQL и блокировки на уровне строк для выполнения процесса “Запрос инвентаризации -> определение, больше ли она 0 -> вычитание инвентаризации” на уровне базы данных с помощью атомарных операций, что позволяет полностью исключить перепродажу.
  4. Полученные результаты.После успешного вычитания кэш обновляется и успешный результат возвращается пользователю. Экземпляр, доступный только для чтения, отвечает за запросы на чтение, такие как запросы на заказы, чтобы еще больше снизить нагрузку на основную базу данных.

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

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

основной компонентиграть рольОсновные рекомендации по конфигурации/выборуПочему стоит выбрать его
Tencent Cloud TDSQL-C (PostgreSQL Edition)Основной слой данных, обеспечивающий высокую согласованность транзакций для инвентаризационных вычетов.это ключ к решению проблемы перепроданности.Рекомендуется выбрать версию Serverless, которая автоматически увеличивает и уменьшает емкость в зависимости от фактического использования вычислительных ресурсов и легко справляется с резкими скачками; плата за хранение данных взимается в соответствии с фактическим объемом данных, а стоимость является оптимальной.Экстремальная производительность.Архитектура разделения вычислений и хранения, производительность ввода-вывода в 2-3 раза выше, чем у локальных SSD, что гарантирует миллисекундный отклик.
100% совместим с PostgreSQL.Плавная миграция без изменения бизнес-кода.
Экстремальная высокая доступность.Многокопийное резервирование данных, автоматическое восстановление после отказа, доступность услуг до 99,99%.
Tencent Cloud RedisСлой кэша для кэширования страниц с подробной информацией о товаре, статусе шипа и т. д.Принимает на себя львиную долю запросов на чтение и защищает внутреннюю базу данных.Выберите характеристики типа памяти, чтобы обеспечить скорость чтения и записи; установите разумное время истечения срока действия; перед началом второгоРазогрев кэшаСверхвысокая пропускная способность.Поддерживает сотни тысяч QPS, значительно снижая нагрузку на базу данных.
Обогащение структур данных.Поддержка List, Set и так далее может быть достигнута за считанные секунды очередью и другой сложной логикой.
Постоянство данных.Избегайте потери данных из-за перезапуска кэша.
Tencent Cloud Load Balancing (CLB)Портал трафика, равномерно распределяющий массивные запросы пользователей между несколькими внутренними серверами.Настройте его для прослушивания на уровне 4 (TCP) или 7 (HTTP/HTTPS) и включите проверку работоспособности, чтобы автоматически отклонять ненормальные внутренние серверы.Сверхвысокий параллелизм.Один кластер может поддерживать сотни миллионов соединений, легко справляясь с потоками трафика.
Высокая доступность.Кластерное развертывание устраняет единые точки отказа.
Гибкое расширение и сжатие.Он может автоматически регулироваться в зависимости от расхода.
Облачные серверы (CVM)/эластичное масштабирование (AS)Сервер приложений, на котором выполняется бизнес-логика.Используйте группы эластичного масштабирования для экономии средств, автоматически увеличивая количество серверов во время всплеска и уменьшая его после всплеска на основе таких показателей, как загрузка процессора или количество одновременных подключений.Гибкая конфигурация.При необходимости можно выбрать из широкого спектра расчетных спецификаций.
Бесшовная интеграция с CLB.CVM в группе масштабирования автоматически регистрируются и снимаются с регистрации в CLB.

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

  • ⛓️ Положите конец перепродажам.Опираясь на сильные транзакционные характеристики TDSQL-C, он может реализовать точное списание запасов и избежать потерь капитала и жалоб клиентов, вызванных перепродажей с самого начала.
  • ⚡ Экстремальная производительность.Экстремальная производительность ввода-вывода TDSQL-C и кэш Redis гарантируют стабильную и бесперебойную работу системы во время всплеска, а также бесперебойную работу пользователей, размещающих заказы.
  • 📈 Устойчивая высокая доступность.Полносвязная конструкция высокой доступности (CLB, группа масштабирования CVM, мультикопирование TDSQL-C), отсутствие единой точки отказа в системе, возможность автоматического масштабирования в зависимости от потока трафика с контролируемой стоимостью.
  • 🛡️ Плавная миграция.TDSQL-C 100% совместим с PostgreSQL, и доступ к существующим сервисам может быть получен практически без изменений, что значительно снижает технический порог и риск миграции.

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

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

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

Tencent Cloud TDSQL-C 100% Совместимость с MySQL и PostgreSQL
Испытайте TDSQL-C бесплатно Получите скидку 6,5% на продление после пробной версии, высокую пропускную способность с ультрамиллионными QPS
Переход на облачный PostgreSQL Переход с TDSQL-C PostgreSQL Edition на облачную базу данных PostgreSQL
Tencent Cloud Redis Совместимость с протоколами Redis и Memcached
CVM Beechcraft От 1 месяца до 5 лет Продолжительность конфигурации для удовлетворения потребностей различных сценариев, со скидкой 50%!