Einführung (Schmerzpunktanalyse)
Sehr geehrte E-Commerce-Architekten und Entwickler, wenn die “Double 11”, “618” und andere große Aktionen der Schlacht Horn bläst, in das Gesicht eines Tsunami von Benutzerverkehr, haben Sie jemals für die folgenden Probleme gewesen?
- Das System fiel sofort aus.In dem Moment, in dem der Spike einsetzt, klicken Millionen von Nutzern gleichzeitig auf die Seite, der Datenverkehr läuft direkt über die Datenbank, das gesamte System stürzt ab, die Seite kann nicht mehr geöffnet werden, es kommt zum Verlust großer Transaktionen.
- Das Rätsel des Überverkaufs von Lagerbeständen.Bei gleichzeitigen Anfragen werden herkömmliche Leistungsengpässe bei Lese- und Schreibsperren in Datenbanken deutlich, die leicht zu Fehlern beim Bestandsabzug und zu “Überverkäufen” führen können, was wiederum zu erheblichen Kapitalverlusten und Kundenbeschwerden führt.
- Die Reaktion ist extrem langsam.Obwohl das System nicht vollständig ausgefallen war, war die zentrale Transaktionsverbindung langsam, die Benutzer mussten Dutzende von Sekunden auf Bestellanfragen warten, die Benutzerfreundlichkeit war extrem schlecht, und die Abbruchrate bei den Warenkörben stieg rapide an.
- Ressourcenkosten und das Rätsel der Resilienz.Eine große Anzahl von Maschinen, die zur Bewältigung der Spitzenlast angeschafft wurden, stehen unmittelbar nach der Spitze still, was zu einer extrem niedrigen Ressourcenauslastung und hohen Kosten führt. Manuelles Erweitern und Verkleinern ist ineffizient und kann nicht mit momentanen Schwankungen im Verkehrsaufkommen fertig werden.
Wenn Sie mit der Frage kämpfen, wie Sie ein Spike-System entwerfen können, das Millionen von QPS Gleichzeitigkeit bewältigen kann, Datenkonsistenz gewährleistet und kostenoptimiert ist, dann wird Ihnen diese massive, geschäftserprobte Spike-Architekturlösung von Tencent Cloud eine klare und zuverlässige Antwort geben.
Diagramm und Überblick über die Lösungsarchitektur
Die folgende Abbildung zeigt die Kernarchitektur und den Datenflussprozess der Tencent Cloud Seconds-Lösung:

Die Kerngedanken dieses Programms sind“Schichtweises Abfangen, asynchrone Verarbeitung, letztlich konsistent”Der Arbeitsablauf ist wie folgt:
- 1.Verkehrszugang und -planung.Die Benutzeranfrage wird zunächst durch dieGlobale Anwendungsbeschleunigung (GAAP)vielleichtCDNSchneller Zugang überLastausgleich (CLB)Verteilen Sie gleichmäßig.
- 2.Optimierung von Leseanfragen und Prüfsummen.Die überwiegende Mehrheit der Abfragen (z. B. Produktdetails, Bestandsprüfungen) wird an hochleistungsfähigeRedisCache. Gleichzeitig ist es möglich, einen neuen Cache zu erstellen, indem man denCloud-Funktion (SCF)Implementierung einer einfachen Berechtigungsüberprüfung (z. B. CAPTCHA) und Abfangen böswilliger Anfragen.
- 3.Abschneiden von Schreibaufträgen und Asynchronisierung.Die Core-Spike-Anforderung manipuliert die Datenbank nach der Übergabe der Prüfsumme nicht direkt, sondern schreibt sofort in dieNachrichten-Warteschlange CKafkaIn der Mitte der Warteschlange, und schnell zurück zu den Benutzer “Warteschlange” Status. Auf diese Weise werden momentane Spitzen in einen gleichmäßigen Verbrauch abgeflacht, was den Druck auf das Back-End erheblich verringert.
- 4.Auftragsabwicklung und Datenpersistenz.Der Back-End-Dienst für die Auftragsabwicklung konsumiert Nachrichten aus CKafka in gleichmäßigem Rhythmus, um die Datenbank zu vervollständigen (TencentDB für MySQL) transaktionaler Bestandsabzug und Auftragserstellung sowie Aktualisierung des Cache.
- 5.Benachrichtigung über die Ergebnisse.Nach Abschluss der Verarbeitung wird der Benutzer über WebSocket oder Long Polling über das endgültige Auftragsergebnis informiert.
Das Wertversprechen der Architektur lautet.Es erreicht eine absolute Verkehrsreduzierung durch Message Queuing (CKafka), übernimmt den größten Teil des Lesedrucks durch Caching (Redis) und reagiert flexibel auf die Rechennachfrage durch elastische Skalierung (AS), wodurch die anfälligen relationalen Datenbanken geschützt werden und sichergestellt wird, dass das gesamte System auch bei hoher Gleichzeitigkeit stabil und effizient bleibt.
Kernprodukte und Komponenten
| Komponentenname | eine Rolle spielen | Wichtige Konfigurations-/Auswahlempfehlungen | Warum es wählen |
|---|---|---|---|
| Cloud-Datenbank Redis | Cache und Zähler Kern. Lesen Sie die Bestandsinformationen vor dem Spike ein und führen Sie die Vorabzugs- und Zählfunktionen während des Spikes aus, um den Druck auf die Datenbank zu verringern. | -Auswahl der Version.Wählen Sie die RAM-Version, um die höchste Leistung zu erzielen. -Kapazitätsplanung.Reservieren Sie 30% oder mehr Pufferplatz für Spikes. -Bereitstellungsmodell.Verwenden Sie eine Master-Slave- oder Cluster-Version, um eine hohe Verfügbarkeit zu gewährleisten. | Extrem hohe Leistung, unterstützt Hunderttausende von Lese- und Schreibvorgängen pro Sekunde. Bietet atomare Operationen (z. B. DECR), um die Genauigkeit von Bestandsabzügen zu gewährleisten, und ist die erste Wahl für die Lösung hochgradig gleichzeitiger Lese- und Zählszenarien. |
| Nachrichten-Warteschlangen CKafka | Verkehrsspitzen und Entkopplung Kern. Übernimmt alle zweiten Schreibanfragen und wandelt plötzlichen, sofortigen Datenverkehr in einen asynchronen Nachrichtenfluss mit gleichmäßiger Geschwindigkeit um, damit das nachgelagerte Auftragsverarbeitungssystem nicht überlastet wird. | -Schätzung der Kapazität.Schätzen Sie die Anzahl der Topic-Partitionen und die Festplattenkapazität auf der Grundlage der Anzahl der Spike-Elemente und der Spitzen-QPS. -Strategie zur Mitgliederbindung.Legen Sie eine angemessene Aufbewahrungszeit für Nachrichten fest, um Schreibvorgänge auf der Festplatte zu vermeiden. | Hoher Durchsatz, niedrige Latenz, kompatibel mit dem Apache Kafka-Protokoll, kann leicht mit Millionen von TPS. Message-Stacking-Fähigkeit, um sicherzustellen, dass der Verkehr weit mehr als erwartet wird nicht verlieren Anfragen. |
| Elastischer Stretch AS | Elastizität der Rechenressourcen Planungskern. Automatisches Erhöhen oder Verringern der Anzahl von Servern für die Auftragsabwicklung auf der Grundlage von Metriken wie der Anzahl der in CKafka gestapelten Nachrichten oder der CPU-Last. | -Skalierungsstrategien.Einrichtung von Alarmskalierungsrichtlinien auf der Grundlage des Nachrichtenstapelvolumens für eine schnelle Kapazitätserweiterung. -Abklingzeit.Legen Sie angemessene Abkühlzeiten fest, um häufiges Dehnen zu vermeiden. | Nutzung von Rechenressourcen nach Bedarf“, automatische Kapazitätserweiterung zur Bewältigung der Spitzenlast zu Beginn der Spitzenlast und automatische Kapazitätsverringerung zur Freigabe von Ressourcen nach Ende der Spitzenlast, wodurch die Kosten erheblich optimiert werden. |
| Cloud-Server CVM | Business Logic Computing Kern. Dient zur Ausführung von Auftragsabwicklungsdiensten, Geschäftsvalidierungsdiensten usw. | -Produktion von Spiegeln.Vorgefertigte Images mit Geschäftscode für den schnellen Einsatz durch das Skalierungsteam. -Typ der Instanz.Wählen Sie rechnerisch optimierte Instanzen, um eine schnelle Auftragsabwicklung zu gewährleisten. | Bietet stabile, zuverlässige und belastbare Rechenleistung, die sich nahtlos in AS, CLB und andere Produkte integrieren lässt und die Grundlage für die Ausführung von Geschäftscode bildet. |
| Lastausgleich CLB | Verkehrsverteilung Kern. Verteilen Sie massive Benutzeranfragen gleichmäßig auf mehrere Unternehmensserver im Back-End, um eine Überhitzung an einem Punkt zu vermeiden. | -Zeitplanungsalgorithmen.Es werden Algorithmen wie das gewichtete Polling (WRR) verwendet. -Gesundheitsscreening.Aktivieren Sie die Zustandsprüfung, um abnormale Backends automatisch auszusortieren. | Die Verbesserung der Verfügbarkeit und Skalierbarkeit von Diensten ist eine Schlüsselkomponente für die horizontale Skalierung. |
| Cloud-Funktion SCF | Leichter Logikverarbeitungskern. Wird verwendet, um eine einfache Logik auszuführen, wie z. B. die Begrenzung der Häufigkeit, die Überprüfung der Eignung des Benutzers (z. B. ob er bereits teilgenommen hat oder nicht) und die CAPTCHA-Prüfung. | -Zeitüberschreitung.Legen Sie eine angemessene Zeitspanne für die Funktionsausführung fest. -Speicher-Konfiguration.Konfigurieren Sie den geeigneten Speicher auf der Grundlage der logischen Komplexität. | Serverlose Architektur, keine Notwendigkeit, Maschinen zu verwalten, Abrechnung nach der tatsächlichen Anzahl der Ausführungen, perfekt für kurzfristige Spitzen, sehr geringe Kosten. |
Zusammenfassung der Vorteile des Programms
- ⚡ Extreme Leistung mit Millionen von Gleichzeitigkeiten.Redis-Cache + CKafka asynchrone Verarbeitung, einfache Unterstützung von Millionen von Lese- und Schreibanfragen auf QPS-Ebene, um ein reibungsloses und stabiles System zu gewährleisten.
- ? Kostenoptimierung mit flexibler Skalierung.Automatische Skalierungsstrategie auf der Grundlage des Nachrichtenaufkommens, um eine genaue Bereitstellung von Rechenressourcen und eine automatische Freigabe nach der Spitze zu erreichen, wodurch die Kosten um mehr als 50% reduziert werden.
- ? ️ Die Daten sind konsistent und verhindern ein Überangebot.Nutzung von Redis-Atomoperationen und Datenbanktransaktionen, um die absolute Genauigkeit des Bestandsabzugs in Szenarien mit hoher Parallelität zu gewährleisten und das Problem des Überverkaufs vollständig zu lösen.
- ? Hohe Verfügbarkeit für sorgenfreie Geschäfte.Die Kernkomponenten (Redis, CKafka, CLB) bieten alle eine Hochverfügbarkeitsarchitektur mit automatischem Failover, um einen unterbrechungsfreien Betrieb während des Aktionszeitraums zu gewährleisten.
- ? Schnelle Bereitstellung, einfache Wartung und Instandhaltung.Aufbauend auf den ausgereiften Produkten von Tencent Cloud, keine Notwendigkeit, komplexe Middleware zu bauen, out-of-the-Box, erheblich reduziert die Komplexität der Entwicklung und Betrieb und Wartung.
Anwendungsszenarien und anwendbare Kunden
Diese Lösung ist ideal für die folgenden Geschäftsszenarien und Kunden:
- Anwendungsszenarien.
- Sekunden im elektronischen Handel.Zum Beispiel zeitlich begrenzte Sonderangebote, mengenmäßig begrenzte Sonderangebote, Pop-up-Premieren usw.
- Getaktete Schnappschüsse.Zum Beispiel Coupons, Zugtickets, Konzertkarten und so weiter.
- Groß angelegte Werbeaktionen.Veranstaltungen wie Double 11, 618 und andere Events, bei denen das Verkehrsaufkommen um ein Vielfaches höher ist als an Wochentagen.
- Anwendbare Kunden.
- Alle E-Commerce-Plattformen und Online-Handelssysteme, die mit hohen Gleichzeitigkeitsanforderungen konfrontiert sind.
- Händler, die große Werbeaktionen planen und sich Sorgen machen, dass ihre Systeme den Ansturm nicht bewältigen können.
- Technologieteams, die komplexe Architekturen nicht mehr intern aufbauen, sondern Dienste in der Cloud hosten wollen, um die Betriebs- und Wartungskosten zu senken.
Verwandte Links
- Link zur offiziellen Produkt-Website.
- Erfahren Sie jetzt mehr über die Cloud-Datenbank Redis
- Erfahren Sie jetzt mehr über Message Queues CKafka
- Erfahren Sie noch heute mehr über Elastic Scaling AS!
- Erfahren Sie jetzt mehr über Cloud Servers CVM
- Erfahren Sie noch heute mehr über Cloud Functions SCF!
- Erfahren Sie jetzt mehr über Load Balancing CLB
- Link zum kostenlosen Test.
- Links zu Technologie-Tutorials.
- Link zur Lösung.