Inleiding (analyse van de pijnpunten)

Als architect of ontwikkelaar van een e-commerceplatform, heb je wel eens een haat-liefdeverhouding met de aankomende promotieactiviteiten? Evenementen als 'kopen binnen een paar seconden' en 'tijdelijke aanbiedingen' genereren enorm veel verkeer en omzet, maar ze brengen ook technische uitdagingen met zich mee die voor hoofdpijn kunnen zorgen.

  • De piek van het momentane verkeer: ​Zodra het evenement begon, steeg het systeemverkeer met tientallen of zelfs honderden keren in vergelijking met de normale dagelijkse situatie. Hierdoor werd de traditionele vaste resource-cluster onmiddellijk overspoeld, waardoor de dienst niet meer beschikbaar was.
  • De kosten van middelen en de tijd dat ze ongebruikt blijven:Als je het hele jaar door een cluster met hoge configuratie gebruikt om pieken op te vangen, blijven veel computerbronnen tijdens de inactieve periodes van 99% ongebruikt, wat tot een enorme verspilling van kosten leidt.
  • Het risico van een overschot aan voorraad:In een scenario met een hoge mate van gelijktijdige toegang, waarbij meerdere verzoeken tegelijkertijd dezelfde voorraad opvragen en verminderen, kan het gemakkelijk gebeuren dat er “te veel wordt verkocht” (het aantal verkochte artikelen is groter dan de werkelijke voorraad), wat tot grote financiële verliezen en klachten van klanten kan leiden.

Als je op zoek bent naar een manier om op een kosteneffectieve manier piekverkeer te verwerken en tegelijkertijd oververkoop van voorraad te voorkomen, biedt dit artikel een complete serverloze oplossing.

Oplossingsarchitectuur en overzicht

De volgende architectuurdiagram toont duidelijk de kernelementen en de gegevensstroom van het sekskill-systeem op basis van de Serverless Application Engine (SAE) van Alibaba Cloud.

Alibaba Cloud Serverless Application Engine (SAE): een sekskill-architectuur waarbij je je geen zorgen hoeft te maken over een overschot aan voorraad - LikaCloud

Overzicht van de architectuur:

De gebruikersverzoeken worden eerst verwerkt doorLoad balancing CLBDe microservice-gateway MSEHet distribueert het verkeer en zorgt voor uniforme authenticatie. De kernlogica van de bedrijfsactiviteiten (zoals flashdeals en bestellingen) wordt geïmplementeerd inDe serverloze applicatie-engine SAEBovenop kun je SAE binnen één seconde snel opschalen op basis van het aantal gelijktijdige verzoeken in realtime, zodat je eenvoudig pieken in het verkeer kunt verwerken. Na afloop van het evenement wordt de capaciteit automatisch teruggeschaald naar nul, waardoor de kosten optimaal blijven.

Na het invoeren van het verzoek voor de belangrijkste flash-verkoop, wordt je eerst doorverwezen naarDe clouddatabase Redis EditionVoer een voorraadaftrek uit en gebruik de atomaire bewerking van Redis om de nauwkeurigheid van de voorraad te garanderen. Als de aftrek is geslaagd, wordt er een asynchrone bestelmelding gegenereerd die wordt opgeslagen.Het berichtenwachtrij-systeem RocketMQ.Het uitvoeren van piek- en dalverwerking. Tot slot worden de verbruiksberichten van de orderdienst in SAE asynchroon verwerkt in de database, waardoor de belasting op de hoofddatabase aanzienlijk wordt verminderd.RDSDe druk.

Waardepropositie:Dit plan lost de problemen met de kosten van resources en piekstabiliteit op met behulp van de ultieme flexibiliteit van SAE en voorkomt overselling van voorraden fundamenteel door middel van het model “Redis atomaire aftrekking + asynchrone berichtenwachtrij”.

Detailbeschrijving van de kernproducten en -onderdelen

De naam van het onderdeel.Het spelen van een rolBelangrijke configuratie-/selectieadviezenWaarom heb je hiervoor gekozen?
De Serverless Application Engine (SAE)De kerncomputingengineHet hosten van microservice-applicaties, zoals de logica voor flash-verkoop en de orderdienst.Het wordt aanbevolen om dit in te schakelen.Flexibele werkuren(Voorafgaand aan het evenement uitbreiden) enDe flexibiliteit van de indicatoren.(Dynamische schaalbaarheid op basis van CPU/concurrente indicatoren).Je hoeft geen servers te beheren, het biedt een flexibele schaalbaarheid binnen enkele seconden, ondersteunt het terugschalen naar nul, je betaalt alleen voor het gebruikte volume en het is perfect geschikt voor flash-verkoopscenario's.
De clouddatabase Redis EditionDe cachelaag en het voorraadverrekeningscentrum.Cacheer populaire gegevens, zoals productdetails; viaDECRWacht tot de uitvoering van de atomaire instructie om het voorraadniveau te verlagen en om overselling te voorkomen.SelectieGeheugentypeDe specificaties garanderen een hoge prestatie; het wordt aanbevolen om dit te activeren.PersistentieOm gegevensverlies te voorkomen.Het bieden van een zeer hoge lees- en schrijfprestatie en transacties met gegevens die atomair zijn, is de sleutel tot het oplossen van problemen met een grote mate van parallelle verwerking van voorraadgegevens.
Het berichtenwachtrij-systeem RocketMQ.Asynchrone ontkoppeling en piek-dalreguleringHet omzetten van succesvolle 'seckill'-verzoeken in asynchrone bestelberichten, helpt bij het verwerken van piekbelasting en beschermt de downstream-database.Het wordt aanbevolen om... te gebruiken.Opeenvolgende berichtenZorg ervoor dat de bestellingen van hetzelfde product in de juiste volgorde worden verwerkt.Hoog doorvoer en hoge betrouwbaarheid, waardoor grote aantallen berichten kunnen worden opgeslagen en ervoor wordt gezorgd dat er geen verzoeken verloren gaan tijdens piekuren. Dit zorgt voor een stabieler systeem als geheel.
De cloud-database RDS MySQLDe uiteindelijke gegevens worden gepermanent opgeslagen.Het opslaan van de belangrijkste productgegevens, informatie over de uiteindelijke bestelling, etc.SelectieDe versie met hoge beschikbaarheid(Eén hoofdserver en één back-upserver) en selecteer de specificaties op basis van de omvang van de activiteiten.Het wegnemen van de zorgen over het beheer en onderhoud van databases, het bieden van een garantie op de betrouwbaarheid van gegevens en het gebruikmaken van berichtenwachtrijen om uiteindelijk consistentie te bereiken.
De microservice-engine MSEDe microservice-gatewayHet biedt mogelijkheden op het gebied van routing, authenticatie, verkeersbeperking en foutafhandeling en fungeert als een centraal toegangspunt en beveiligingsbarrière voor het systeem.Configureer de interface voor de flash sale.Nauwkeurige beperking van de dataflow.Om te voorkomen dat kwaadaardige verzoeken de back-endservices overbelasten.Het verbetert de systeemveiligheid, stabiliteit en waarneembaarheid, zodat ontwikkelaars zich meer kunnen focussen op de bedrijfslogica.

Samenvatting van de voordelen van het plan

  • 🚀 Elasticiteit op secondebasis, nooit uitvallen: ​SAE kan binnen één seconde de capaciteit van een instantie uitbreiden, waardoor het gemakkelijk mogelijk is om miljoenen gelijktijdige verbindingen te verwerken en ervoor te zorgen dat de dienst tijdens evenementen altijd beschikbaar is.
  • 💰 De beste kosten, betaal voor wat je nodig hebt:De service wordt gefactureerd op basis van de daadwerkelijk gebruikte resources. Na afloop van de activiteit worden de resources automatisch verminderd. Vergeleken met traditionele architecturen kan dit de resourcekosten met meer dan 701% verlagen.
  • 🛡️ Vermijd oververkoop en bescherm uw vermogen tegen verliezen:De voorraadaftrek op basis van de atomaire bewerking van Redis lost het probleem van oververkoop volledig op logisch niveau op en beschermt de belangen van het bedrijf.
  • 🔧 Geen onderhoud, focus op de business:Volledig beheerde cloudproducten bevrijden het operationele team van het infrastructuurbeheer, zodat ze sneller bedrijfsfuncties kunnen ontwikkelen en verbeteren.

Toepassingsscenario's en geschikte klanten

  • Kernscenario: ​De tijdelijke, zeer intensieve activiteiten op e-commerceplatforms, zoals flashdeals, tijdelijke koopjes, de introductie van nieuwe producten en regenbuien met kortingsbonnen.
  • Kenmerken van toepasselijke klanten: ​
    • De activiteiten kennen duidelijke pieken en dalen en we streven naar een optimale benutting van de resources en kostenoptimalisatie.
    • Ze zaten vast in het probleem van overbevolkte voorraden en hadden een zeer hoge eis voor gegevensconsistentie.
    • Het ontwikkelings- en onderhoudsteam heeft beperkte personele middelen en wil de complexiteit van het onderhoud van de infrastructuur tot een minimum beperken.

Gerelateerde links

De Serverless Application Engine (SAE) Kant-en-klare ondersteuning voor microservicebeheer, logboeken, monitoring en andere gerelateerde functionaliteiten.
Een gratis proefabonnement op SAE. Ga direct aan de slag met cloudproducten en begin aan een praktijkgerichte reis in de cloud.
\n​De cloud-database Redis-versie Meerdere opslagmedia (geheugen, persistente geheugen, schijf)
De clouddatabase RDS MySQL Een schaalbare online MySQL-database.
De microservice-engine MSE Registratiecentrum, microservicebeheer, taakplanning, cloud-native gateway
\n​Berichtenwachtrij RocketMQ Een gedistribueerd platform voor de uniforme verwerking van “berichten, gebeurtenissen en streams”.
Het bouwen van een krachtig systeem voor flash-verkoop. Hoe je met behulp van Alibaba Cloud-producten een krachtig systeem voor flashdeals kunt bouwen.