Introduzione (analisi dei punti dolenti)

In qualità di architetto o sviluppatore di una piattaforma e-commerce, sei ansioso ogni anno per gli eventi di vendita lampo? Quando scocca la mezzanotte e un'enorme quantità di utenti si riversa sul sito in un istante, il tuo sistema deve affrontare le seguenti sfide cruciali:

  • •​Impulsi di traffico, crash del sistema:Il traffico istantaneo è cento o addirittura mille volte superiore rispetto ai giorni feriali. Il pool di connessioni al database si esaurisce e la CPU/IO del server sale a 1001 TP4T, causando direttamente il blocco della pagina e l'interruzione del servizio.
  • •​Super-vendita e dati incoerenti:In condizioni di alta congestione, la logica tradizionale di riduzione delle scorte è molto soggetta a problemi di concorrenza, con il risultato che le scorte diventano negative (o sovra-vendute), danneggiando gravemente la reputazione dell'azienda e l'esperienza degli utenti.
  • •​Blocco sincrono, risposta lenta:Quando un utente effettua un ordine, è necessario eseguire in modo sincrono varie operazioni che richiedono tempo, come il controllo delle scorte, la creazione dell'ordine e l'inizializzazione del pagamento. Qualsiasi blocco in una di queste fasi può causare un timeout per l'utente e un aumento del tasso di abbandono.

Se stai cercando un'opzione economica, puoi prendere in considerazione un hotel economico.Come rispondere in modo fluido, affidabile ed efficiente a un'enorme quantità di richieste simultanee di acquisti a prezzo scontato.Se questo è un problema, la soluzione asincrona di Tencent Cloud basata su Message Queue CKafka per gestire i picchi e compensare le fluttuazioni ti fornirà una best practice completa e scalabile.

Diagramma di architettura della soluzione e panoramica

Il nucleo di questo piano consiste nel\n​“De-picco stratificato, disaccoppiamento asincrono”​Il sistema separa la richiesta istantanea di ordine da parte dell'utente dall'elaborazione complessa delle transazioni a livello di back-end. Utilizza la coda di messaggi Kafka come potente buffer, che consente di smorzare i picchi di traffico e garantire la stabilità del sistema centrale.

Diagramma di architettura:

Soluzione del sistema di sconti istantanei di Tencent Cloud CKafka: riduzione asincrona dei picchi e riempimento delle valli, per gestire facilmente picchi di ordini di livello miliardario - LikaCloud

Riassunto del flusso di lavoro:

  1. Richiesta di accesso:La richiesta di acquisto lampo dell'utente passa prima attraverso il collegamento di accelerazione globale, e viene quindi distribuita su più server di servizio front-end dal bilanciatore di carico CLB.
  2. Verifica preliminare:Il server front-end (CVM/EKS) esegue logiche leggere, come la verifica delle credenziali degli utenti e la validazione dei parametri, e consulta rapidamente il saldo dell'inventario tramite Redis. Dopo la verifica, le informazioni dell'ordine vengono inserite nel corpo del messaggio.Scrivi immediatamente su Kafka.E rispondere rapidamente agli utenti che sono “in attesa”.
  3. Ridistribuzione stagionale: ​Il cluster CKafka, grazie alla sua elevata capacità di throughput e di persistenza, è in grado di gestire tutti i picchi di traffico momentanei, garantendo una perfetta riduzione del carico di lavoro.
  4. Consumo asincrono: ​I cloud function SCF o i microservizi elastici TEM a valle fungono da consumatori, estraendo i messaggi da CKafka a una velocità controllata e eseguendo senza intoppi operazioni di coerenza finale come la detrazione dell'inventario e la registrazione degli ordini nel database.
  5. Persistenza dei dati:Dopo l'elaborazione, i risultati vengono scritti nel database cloud (MySQL/CynosDB) e lo stato della cache in Redis viene aggiornato.

Spiegazione dettagliata dei prodotti e dei componenti principali.

ComponentiGiocare un ruoloConsigli per la configurazione/selezione delle opzioni chiavePerché sceglierlo?
La coda di messaggi CKafka.Il buffer del nucleo del sistema.Assumono un ruolo fondamentale nel ridurre i picchi e colmare le valli, nonché nel disaccoppiare i sistemi energetici.Si consiglia di scegliereSpecifiche di alto livelloGarantire la larghezza di banda e la velocità di trasferimento; il numero di partizioni impostato dovrebbe essere superiore al numero di consumatori, al fine di migliorare la capacità di consumo in parallelo.Ha un'elevata capacità di elaborazione e scalabilità, è compatibile con l'ecosistema Kafka, si integra senza problemi con vari strumenti di big data e i servizi gestiti non richiedono manutenzione.
Server cloud CVM / Servizio di container elastico EKSElaborazione della logica di business preliminare.È responsabile della verifica delle richieste, della generazione dei token e della produzione dei messaggi.AdottareFatturazione a consumoModello e abbinamentoIl gruppo di scalabilità elastica (AS)A seconda della pressione della CPU, l'espansione e la contrazione automatiche avvengono di conseguenza.Fornisce una capacità di calcolo stabile e affidabile, e la scalabilità elastica garantisce un aggiustamento automatico delle risorse prima e dopo le vendite flash, consentendo di risparmiare notevolmente sui costi.
Il database cloud Redis.Cache dei dati dei punti caldi, memorizzare l'inventario delle offerte lampo, la lista nera degli utenti, i limiti di frequenza, ecc.SelezionaMemoria di tipoLe specifiche,Attivare la persistenza.; L'uso di script Lua garantisce la riduzione atomica dell'inventario.Le operazioni di memoria a thread singolo, con prestazioni estremamente elevate (oltre 100.000 richieste al secondo), sono uno strumento efficace per gestire letture e scritture ad alta concurrenza.
Funzioni cloud SCFConsumatore di attività asincrone\n, estrarre i messaggi da CKafka e gestire la logica di base dell'ordine.Imposta un limite ragionevole.Numero di esecuzioni simultaneeIl numero di messaggi elaborati in batch.Per evitare che il database a valle sia sottoposto a un eccessivo carico di lavoro.Guidato dagli eventiL'architettura senza server consente un ridimensionamento automatico e flessibile in base al volume dei messaggi, garantendo un vero pagamento in base al consumo e l'assenza di costi di gestione e manutenzione.
Il database cloud TencentDB per MySQL/TDSQL-C.Il salvataggio dei dati finali, archiviare in modo persistente ordini, prodotti e altre informazioni.AdottareLa versione ad alta disponibilità.Anche…La versione aziendale di Three Nodes.Garantire la coerenza dei dati; si consiglia di utilizzareSeparazione tra lettura e scritturaArchitettura.Fornendo servizi di database ad alta disponibilità e alte prestazioni, TDSQL-C (CynosDB) è particolarmente adatto per scenari di scrittura conflittuale su larga scala e offre un ottimo rapporto qualità-prezzo.
Balancement del carico CLBUn ingresso unificato per il traffico.\n, realizzare la distribuzione del traffico e l'alta disponibilità.SelezionaLa versione ad alte prestazioni., supporta un numero enorme di connessioni simultanee.Eliminare i punti di guasto unici e garantire un'alta disponibilità del livello di accesso.
Firewall per applicazioni web (WAF)Guardia di sicurezzaPrevenire attacchi CC, ordini fraudolenti e altre attività simili.ConfigurazioneUna protezione CC precisa.Le regole eVerifica uomo-macchinaLa strategia consiste nel filtrare preventivamente il traffico dannoso.Intercetta la maggior parte degli attacchi prima che il traffico entri nel sistema aziendale, garantendo l'equità delle attività e la sicurezza del business.

Riassunto dei vantaggi del piano

  • ⚡ Esperienza utente estrema: ​Gli utenti richiedono una risposta rapida (in millisecondi), senza lunghi tempi di attesa, un sistema privo di rallentamenti e un processo di ordinazione fluido.
  • ?️ Alta disponibilità e stabilità del sistema:Il sistema di back-end è stato disaccoppiato dai picchi di traffico, garantendo che la pressione sui database e i servizi rimanesse costante, evitando così completamente i blackout a cascata dovuti al sovraccarico.
  • ​? Scalabilità elastica, ottimizzazione dei costi:​Tutti i componenti sono scalabili in modo elastico, senza la necessità di acquistare grandi quantità di risorse inutilizzate per il traffico di picco, riducendo notevolmente i costi di gestione e manutenzione dell'IT.
  • ? Coerenza finale dei dati: ​Mediante la coda dei messaggi e la logica di consumo affidabile, si garantisce che i dati relativi alla riduzione delle scorte e alla generazione degli ordini siano coerenti anche in caso di elevata congestione, evitando così la sovra-vendita.
  • ?️ Disaccoppiamento dell'architettura, flessibilità e scalabilità: ​I doveri di ciascun modulo sono chiari e, in futuro, per aggiungere nuove funzionalità (come la detrazione dei punti e le notifiche via SMS), basterà aggiungere nuovi consumatori senza dover modificare il processo principale.

Scenari di applicazione e clienti a cui è destinato.

  • Scena tipica:Le attività di vendita lampo durante i grandi eventi come il 618, il Double 11 e il Double 12 delle piattaforme di e-commerce; l'opportunità di acquistare in anteprima i nuovi prodotti; e la possibilità di accaparrarsi i biglietti per gli eventi più popolari del sistema di biglietteria.
  • Cliente applicabile: ​
    • Tutte le aziende Internet che affrontano picchi di traffico ciclici o prevedibili.
    • Il numero medio di PV al giorno è superiore a un milione, con una rapida crescita del business, e questo richiede una piattaforma e-commerce con un'architettura altamente flessibile.
    • Il team tecnico desidera migrare dal sistema di vendita lampo autocostruito, che è difficile da mantenere, a un'architettura cloud-native completamente gestita e altamente affidabile.

Link correlati

Queue di messaggi CKafka di Tencent Cloud 100% è compatibile con le versioni di Apache Kafka da 0.9.0 a 3.2.0.
Esempio di CVM Hengchi. Il calo massimo dei costi di calcolo è superiore a 451 TP4T.
Il database cloud Redis. Compatibile con i protocolli Redis e Memcached.
Funzioni cloud di Tencent Cloud (SCF) Ambiente di esecuzione senza server
Balancement del carico cloud di Tencent (CLB) Fornire un servizio di distribuzione del traffico sicuro e rapido a quattro o sette livelli.
MySQL nativo nel cloud (TDSQL-C) 100% è compatibile con MySQL.
Firewall per applicazioni web T-Sec. Riconoscimento degli attacchi web basato su regole AI+.
Prova gratuita dei prodotti Tencent Cloud. Prova gratuita di oltre 60 prodotti cloud