Introduzione (analisi dei punti dolenti)

Con il picco del traffico durante le promozioni che passa da decine di migliaia a milioni o addirittura centinaia di milioni, il tuo sistema di ordini sta affrontando le seguenti sfide cruciali?

  • Il database è sovraccarico.Quando i database relazionali tradizionali (come MySQL) ricevono un numero enorme di richieste di ordini in un breve lasso di tempo, gli IOPS e il numero di connessioni raggiungono rapidamente il limite, causando un aumento dei ritardi di risposta e, infine, il blocco o l'interruzione del sistema, con un impatto diretto sul volume delle transazioni.
  • Il problema della sovra-vendita delle scorteIn scenari ad alta concurrenza, i semplici blocchi delle transazioni del database o dei livelli applicativi possono facilmente fallire, causando la “sovravendita” delle scorte, danneggiando gravemente la reputazione della piattaforma e provocando reclami da parte dei clienti.
  • La stabilità del sistema è scarsa.Il malfunzionamento di un singolo servizio o nodo del database potrebbe innescare un “effetto a valanga” sull'intera catena di applicazioni, rendendo indisponibile il servizio dell'intero sito e facendo precipitare l'esperienza degli utenti al livello più basso possibile.

Se siete preoccupati per i rallentamenti del sistema causati da ordini ad alta frequenza, il rischio di vendita eccessiva e gli elevati costi di gestione e manutenzione, questo articolo vi fornirà una soluzione completa basata sui prodotti principali di Tencent Cloud, testata nella pratica.

Diagramma di architettura della soluzione e panoramica

Questo programma utilizza ​\n​“Limitazione dell'accesso a livello di accesso -> Intercettazione a livello di cache -> Persistenza a livello di database”​Il concetto di riduzione dei picchi a più livelli ha permesso di utilizzare diversi prodotti chiave di Tencent Cloud per creare un sistema di ordinazione ad alta frequenza stabile, efficiente e resiliente.

Diagramma di architettura

Ordini di 1,1 miliardi di dollari durante il Double 11 senza rallentamenti: TDSQL-C di Tencent Cloud e la soluzione di archiviazione nella cache distribuita Redis - LikaCloud

Una panoramica del flusso di lavoro:\n​

  1. La richiesta dell'utente passa prima attraversoIl gateway delle API di Tencent Cloud.Per effettuare l'autenticazione e il limitazione precisa del traffico, intercettando le richieste non valide e in eccesso al di fuori del sistema.
  2. Le richieste convalidate entrano nel livello di logica aziendale, e l'operazione principale consiste nell'effettuare una chiamata.Tencent Cloud RedisI comandi atomici di permettono di prelevare automaticamente le scorte, risolvere i problemi di sovra-vendita e gestire la maggior parte delle pressioni dovute alla concorrenza.
  3. Dopo il successo della prelievo dallo stock, i dati dell'ordine vengono scritti asincronamente nella coda dei messaggi e, infine, vengono scritti in modo fluido dal servizio consumer.TDSQL-C di Tencent CloudPer effettuare la persistenza finale e evitare di creare un impatto sul database.

Spiegazione dettagliata dei prodotti e dei componenti principali.

Componenti principaliGiocare un ruoloConsigli per la configurazione/selezione delle opzioni chiavePerché sceglierlo?
Il gateway delle API di Tencent Cloud.L'ingresso totale del traffico e la linea di difesa.È responsabile dell'autenticazione e dell'autorizzazione delle richieste, del controllo del traffico, della cache e del fusebox, proteggendo il cluster di servizi back-end da un sovraccarico.Riguardo a… /createOrderLa configurazione delle interfacce principali, ecc.Il limite di flusso di QPS.; AttivareLa risposta della cache.Per rispondere a richieste ripetitive, come ad esempio la ricerca di informazioni sui prodotti.Non è necessario eseguire il coding per implementare una gestione avanzata del traffico e fornire servizi di livello di ingresso altamente disponibili e resilienti, che rappresentano la prima garanzia della stabilità del sistema.
Tencent Cloud RedisCache ad alte prestazioni e centro di controllo delle scorte. Assumere la responsabilità della cache dei dati più rilevanti (informazioni sui prodotti) e trasmetterli tramite DECRDopo che i comandi atomici avranno eseguito la detrazione dallo stock, il problema della sovra-vendita sarà definitivamente risolto.SelezionaMemoria di tipoLe specifiche sono progettate per garantire prestazioni eccellenti; si consiglia di attivarle.PersistenzaLa funzione serve a prevenire la perdita di dati; utilizzare...Cluster RedisPer estendere la capacità e le prestazioni, è possibile utilizzare il modello di scalabilità orizzontale.Fornisce una stabilità e prestazioni molto superiori a quelle di Redis autocostruito, con funzionalità di commutazione automatica in caso di guasto e di scalabilità online, ed è fondamentale per gestire letture e scritture ad alta concurrenza in modo istantaneo.
Tencent Cloud TDSQL-C (versione PostgreSQL)Il motore di persistenza dei dati ad alta disponibilità.È responsabile di archiviare in modo sicuro e affidabile tutti i dati degli ordini e costituisce la “unica fonte di informazioni” per le transazioni.AdottareServerlessIl modello o i nodi di calcolo si espandono in modo elastico per far fronte alle fluttuazioni del traffico;Istanzia di sola letturaAssumersi la responsabilità delle query relative ai report, alleviando la pressione sul database principale.L'architettura nativa del cloud le consente di offrire una flessibilità di scalabilità estrema e un ottimo rapporto costo-prestazioni, con prestazioni di scrittura eccellenti e piena compatibilità con PostgreSQL, garantendo una forte coerenza e un'elevata affidabilità dei dati.

Riassunto dei vantaggi del piano

  • ⚡ Elaborazione ad altissima concurrenza.: Le operazioni di memoria di Redis, in combinazione con la limitazione del traffico della gateway API, consentono di gestire facilmente richieste istantanee a livello di milioni di QPS e di garantire un processo di ordinazione fluido e senza intoppi.
  • ?️ I dati sono assolutamente affidabili.: Gli ordini atomici di Redis evitano la sovra-vendita, mentre TDSQL-C offre una persistenza dei dati e un'alta disponibilità a livello finanziario, garantendo che ogni ordine sia eseguito in modo accurato e senza errori.
  • ? Ottimizzazione estrema dei costiL'architettura a più livelli assorbe gran parte della pressione nel livello di cache a costi inferiori, e le caratteristiche di elasticità di TDSQL-C consentono di non dover predisporre un gran numero di risorse di database per il traffico di picco, riducendo significativamente i costi.
  • ? La gestione e la manutenzione sono semplici e efficientiIl servizio completamente gestito elimina i fastidi della gestione e della manutenzione dell'infrastruttura di base, supporta l'espansione e la riduzione flessibili delle risorse e consente ai team di sviluppo di concentrarsi maggiormente sull'innovazione aziendale.

Scenari di applicazione e clienti a cui è destinato.

  • Scenario di applicazione tipico:\n​
    • Promozioni e offerte lampo dell'e-commerceIl tentativo di acquistare i prodotti in edizione limitata durante i festival dello shopping come il Double 11 e il 618, e la distribuzione di buoni regalo.
    • Il sistema di biglietteria per accaparrarsi i bigliettiLa vendita online di biglietti per eventi popolari come concerti e competizioni.
    • Il lancio del prodotto più vendutoIl lancio online di prodotti come i nuovi telefoni e le scarpe più popolari.
  • Caratteristiche dei clienti a cui si applica:\n​
    • Il business presenta chiari picchi e cali, con un picco di richieste simultanee che raggiunge oltre i 10.000 casi.
    • I requisiti di coerenza dei dati sono estremamente elevati e situazioni come la vendita allo scoperto e gli ordini errati sono inaccettabili.
    • Perseguire la stabilità del sistema e un'alta disponibilità, con l'obiettivo di creare un'architettura resiliente orientata al futuro.

Link correlati