Einführung (Schmerzpunktanalyse)

Haben Sie sich als Architekt oder Entwickler einer E-Commerce-Plattform bei der Vorbereitung großer Werbeaktionen wie “618” und “Double 11” schon einmal Sorgen über das Second-Kill-Szenario gemacht? Wenn eine große Anzahl von Nutzern gleichzeitig eintrifft und hektisch auf “Jetzt kaufen” klickt, wird Ihr System auf eine harte Probe gestellt:

  • Die Bestände sind überverkauft.Gleichzeitige Lese-/Schreibkonflikte in der Datenbank führten dazu, dass Aufträge erfolgreich generiert wurden, obwohl der tatsächliche Bestand ausverkauft war, was zu Kapitalverlusten und Kundenbeschwerden führte.
  • Engpässe in der Datenbank.Spike-Anfragen strömen wie ein Tsunami in die zentrale Datenbank und lassen die CPU- und Verbindungszahlen explodieren, die Antwortlatenz in die Höhe schnellen und sogar eine Lawine auslösen, die das gesamte System zum Stillstand bringt.
  • Schlechte Nutzererfahrung.Die Seite lädt langsam, die Schaltflächen reagieren nicht, der Benutzer sieht nur die Meldung “System ist beschäftigt” und verlässt schließlich enttäuscht die Seite.

Zusammenfassung in einem Satz.Wenn Sie mit Inventory Overselling, Datenbankengpässen und Systemstabilität in Szenarien mit hohen Gleichzeitigkeitsspitzen zu kämpfen haben, dann finden Sie in diesem Artikel eine komplette, hochleistungsfähige Lösung auf Basis von Tencent Cloud TDSQL-C.

Diagramm und Überblick über die Lösungsarchitektur

Die Abbildung unten zeigt deutlich die Architektur der Tencent Cloud TDSQL-C basierten Spike-Lösung.

Wie löst Tencent Cloud TDSQL-C (PostgreSQL Edition) die Schwierigkeit der sekundengenauen Inventarisierung bei hoher Gleichzeitigkeit? - LikaCloud

Beschreibung des Architekturdiagramms: Benutzeranfragen werden über beschleunigte statische Ressourcen von Tencent Cloud CDN geladen und dann über den Lastausgleich CLB verteilt. Die Geschäftsanwendungsschicht wird auf CVM implementiert und greift auf Tencent Cloud Redis als Hotspot-Datencache zu. Der wichtigste Punkt ist, dass die Kerntransaktion des Inventarabzugs direkt von der leistungsstarken und hochkompatiblen Datenbank TDSQL-C (PostgreSQL-Version) ausgeführt wird, wodurch absolute Datenkonsistenz und hohe Leistung gewährleistet werden.

Workflow-Übersicht.

  1. Verkehrszugang und -verteilung.Die Nutzeranfragen werden zunächst durch das CDN von Tencent Cloud für das Laden statischer Seiten beschleunigt und dann durch Lastausgleich (CLB) gleichmäßig auf die Backend-Business-Server-Cluster verteilt.
  2. Trennung von Lesen und Schreiben.Wenn der Geschäftsserver Daten liest, die nicht zum Kerngeschäft gehören, wie z. B. Produktinformationen, greift er vorrangig auf den Tencent Cloud Redis-Cache zu, was den Druck auf die Datenbank erheblich verringert. Für die Kerntransaktion des Bestandsabzugs verbindet sich die Anwendung direkt mit der Hauptinstanz von TDSQL-C.
  3. Kernabzug.TDSQL-C nutzt die leistungsstarke Transaktionsverarbeitung von PostgreSQL und die Sperren auf Zeilenebene, um den Prozess “Bestand abfragen -> feststellen, ob er größer als 0 ist -> Bestand abziehen” auf Datenbankebene mit atomaren Operationen durchzuführen, wodurch ein Überverkauf grundsätzlich ausgeschlossen werden kann.
  4. Ergebnisse zurückgegeben.Nach einem erfolgreichen Abzug wird der Cache aktualisiert und das erfolgreiche Ergebnis an den Benutzer zurückgegeben. Die Nur-Lese-Instanz ist für die Annahme von Leseanfragen wie z. B. Bestellanfragen zuständig, um die Hauptdatenbank weiter zu entlasten.

Wert-Angebot.Die Lösung durch die “Redis Cache heiße Daten + TDSQL-C, um die Kern-Transaktion zu schützen”-Architektur, nicht nur um die Vorteile der hohen Leistung des Cache zu nehmen, sondern auch, um sicherzustellen, dass die Datenbank in der sehr hohen Gleichzeitigkeit der Datenkonsistenz Fähigkeit, eine perfekte Lösung für den Kern Schmerzpunkt der zweiten töten.

Kernprodukte und Komponenten

Kernkomponenteeine Rolle spielenWichtige Konfigurations-/AuswahlempfehlungenWarum es wählen
Tencent Cloud TDSQL-C (PostgreSQL-Ausgabe)Kerndatenschicht für starke Konsistenztransaktionen für Bestandsabzüge.ist der Schlüssel zur Lösung des Problems des Überverkaufs.Es wird empfohlen, sich für die Serverless-Version zu entscheiden, bei der die Kapazität automatisch entsprechend der tatsächlichen Nutzung der Rechenressourcen erweitert und verringert wird und die Spitzen problemlos bewältigen kann; der Speicher wird entsprechend dem tatsächlichen Datenvolumen abgerechnet, und die Kosten sind optimal.Extreme Leistung.Rechen- und Speichertrennarchitektur, die E/A-Leistung ist 2-3 Mal so hoch wie bei lokalen SSDs und garantiert eine Reaktionszeit von Millisekunden.
100% ist PostgreSQL-kompatibel.Reibungslose Migration ohne Änderung des Geschäftscodes.
Extrem hohe Verfügbarkeit.Datenredundanz mit mehreren Kopien, automatische Ausfallsicherung, Serviceverfügbarkeit bis zu 99,99%.
Tencent Cloud RedisCache-Schicht zum Zwischenspeichern von heißen Produktdetail-Seiten, Spike-Status, etc.Übernimmt den Löwenanteil der Leseanfragen und schützt die Backend-Datenbank.Wählen Sie die Spezifikationen des Speichertyps, um Lese- und Schreibgeschwindigkeiten zu gewährleisten; legen Sie angemessene Verfallszeiten fest; vor Beginn des zweitenCache-AufwärmenUltrahoher Durchsatz.Unterstützt Hunderttausende von QPS, was die Datenbankbelastung erheblich reduziert.
Anreicherung von Datenstrukturen.Support-Liste, Set und so weiter, kann in Sekunden erreicht werden Warteschlange und andere komplexe Logik.
Persistenz der Daten.Vermeiden Sie Datenverluste durch einen Cache-Neustart.
Tencent Cloud Load Balancing (CLB)Verkehrsportal, das umfangreiche Benutzeranfragen gleichmäßig auf mehrere Back-End-Unternehmensserver verteilt.Konfigurieren Sie ihn für Layer 4 (TCP) oder Layer 7 (HTTP/HTTPS) und aktivieren Sie die Zustandsprüfung, um abnormale Backend-Server automatisch abzulehnen.Ultrahohe Gleichzeitigkeit.Ein einziger Cluster kann Hunderte von Millionen von Verbindungen unterstützen und damit auch Verkehrsspitzen problemlos bewältigen.
Hoch verfügbar.Durch die geclusterte Bereitstellung werden einzelne Fehlerquellen eliminiert.
Flexible Expansion und Kontraktion.Sie kann automatisch entsprechend der Durchflussmenge eingestellt werden.
Cloud-Server (CVM)/elastische Skalierung (AS)Der Anwendungsserver, auf dem die Geschäftslogik ausgeführt wird.Verwenden Sie elastische Skalierungsgruppen, um Kosten zu sparen, indem Sie die Anzahl der Server während der Spitze automatisch erhöhen und nach der Spitze auf der Grundlage von Metriken wie CPU-Auslastung oder Anzahl der gleichzeitigen Verbindungen verringern.Flexible Konfiguration.Je nach Bedarf kann aus einer breiten Palette von Berechnungsspezifikationen gewählt werden.
Nahtlose Integration mit CLB.CVMs innerhalb einer Skalierungsgruppe melden sich automatisch beim CLB an und ab.

Zusammenfassung der Vorteile des Programms

  • ⛓️ Machen Sie Schluss mit dem Überangebot.Auf der Grundlage der starken transaktionalen Eigenschaften von TDSQL-C kann es einen genauen Bestandsabzug realisieren und Kapitalverluste und Kundenbeschwerden, die durch Überverkäufe verursacht werden, von vornherein vermeiden.
  • ⚡ Extreme Leistung.Die extreme E/A-Leistung von TDSQL-C und der Redis-Cache garantieren ein stabiles und reibungsloses System während der Spitzenzeiten und ein seidenweiches Erlebnis für die Benutzer, die Bestellungen aufgeben.
  • 📈 Ausfallsichere Hochverfügbarkeit.Full-Link-Hochverfügbarkeitsdesign (CLB, CVM-Skalierungsgruppe, TDSQL-C-Multi-Copy), kein Single-Point-of-Failure im System und automatische Skalierung entsprechend dem Verkehrsfluss mit kontrollierbaren Kosten.
  • 🛡️ Reibungslose Migration.TDSQL-C 100% ist mit PostgreSQL kompatibel, und auf bestehende Dienste kann nahezu ohne Änderungen zugegriffen werden, was die technische Schwelle und das Migrationsrisiko deutlich reduziert.

Anwendungsszenarien und anwendbare Kunden

  • Kernszene.Sofortige Szenarien mit hoher Gleichzeitigkeit wie Sekunden, Eile, zeitlich begrenzte Sonderangebote, Gewinnspiele usw. auf E-Commerce-Plattformen.
  • Anwendbare Kundenmerkmale.
    • Das Unternehmen hat periodische oder plötzliche Verkehrsspitzen, und es besteht ein großer Bedarf an Systemelastizität, um die Kapazität zu erweitern und zu reduzieren.
    • Die Anforderungen an die Datenkonsistenz sind so hoch, dass geschäftliche Schwachstellen, wie z. B. der Überverkauf von Beständen, nicht akzeptabel sind.
    • Wir verwenden derzeit eine PostgreSQL-Datenbank und suchen nach einer robusteren und problemloseren Cloud-Datenbanklösung.

Verwandte Links

Tencent Cloud TDSQL-C 100% Kompatibel mit MySQL und PostgreSQL
TDSQL-C kostenlos erleben 6,5 % Rabatt auf die Verlängerung nach der Testphase, hoher Durchsatz mit ultra-million QPS
Umstellung auf Cloud PostgreSQL Migration von der TDSQL-C PostgreSQL Edition zur Cloud-Datenbank PostgreSQL
Tencent Cloud Redis Kompatibel mit Redis- und Memcached-Protokollen
CVM Beechcraft 1 Monat bis 5 Jahre Dauer der Konfiguration, um den Anforderungen verschiedener Szenarien gerecht zu werden, bis zu 50 % günstiger!