Úvod (analýza bolestivých míst)
Jako architekt nebo vývojář e-commerce platformy, zda každý rok zažíváte stres při přípravě akcí typu „flash sale“? Když zazvoní půlnoc a do systému najednou přijde obrovské množství uživatelů, čelí váš systém následujícím vážným výzvám:
- •Příliv dat, systémové selhání:Momentální provoz je stokrát až tisíckrát větší než během běžných dnů, databázové připojovací bazény jsou přetížené a CPU/I/O serveru dosahuje hodnoty 1001 TP4T, což přímo vede k tomu, že stránky se zasekávají a dochází k výpadku služby.
- •Nadvýprodej a nesoulad s údaji:Při vysoké míře souběžnosti může tradiční logika odečítání zásob snadno vést k problémům se souběžností, což způsobí, že zásoby budou záporné (přeprodej) a vážně poškodí pověst společnosti a zkušenosti uživatelů.
- •Synchronní blokování, pomalé reakce:Když uživatel zadá objednávku, je nutné synchronizovaně provést několik časově náročných operací, jako je kontrola zásob, vytvoření objednávky a inicializace platby. Pokud dojde k zablokování kteréhokoliv z těchto kroků, uživatelé budou čekat příliš dlouho a počet opuštěných nákupních košíků významně vzroste.
Pokud právě hledáteJak hladce, spolehlivě a efektivně reagovat na obrovské množství souběžných požadavků na slevy v reálném čase.Pokud vás to znepokojuje, pak vám řešení pro asynchronní vyrovnávání špiček a vyrovnávání zatížení založené na zprávové frontě Kafka od Tencent Cloud poskytne kompletní a škálovatelnou best practice.
Schéma a přehled architektury řešení
Jádrem tohoto řešení je“Stratifikované omezení špiček a asynchronní oddělení”Oddělíme okamžité požadavky uživatelů na objednávky od komplexního zpracování obchodních transakcí na zadní straně a využijeme zprávovou frontu Kafka jako výkonný vyrovnávací prostředek k vyrovnání výkyvů provozu a zajištění stability hlavního systému.
Archičtvrť:

Přehled pracovních postupů.
- Žádost o přístup:Žádost uživatele o bleskovou nabídku nejprve projde globální akcelerační linkou a poté je pomocí služby CLB pro distribuci zatížení rozeslána na několik přední provozních serverů.
- Předběžná kontrola:Předběžný server (CVM/EKS) provádí lehkou logiku, jako je ověřování uživatele a kontrola parametrů, a také rychlé vyhledávání zbývajících zásob v databázi Redis. Po úspěšné kontrole jsou informace o objednávce odeslány jako zpráva.Zapište to okamžitě do Kafka.A rychle reagovat na uživatele, kteří jsou “ve frontě”.
- Osekaní špiček a vyrovnávání propastí:Klastra CKafka využívají všechny momentální objemy dat díky své vysoké propustnosti a schopnosti trvalého ukládání dat, což umožňuje dokonalé vyrovnání špiček provozu.
- Asynchronní spotřeba:Cloudové funkce SCF nebo flexibilní mikroslužby TEM na dolním konci fungují jako spotřebitelé, kteří z CKafka získávají zprávy řízenou rychlostí a hladce provádějí operace s konečnou konzistencí, jako je odečtení zásob nebo uložení objednávky do databáze.
- Trvalost dat: Po dokončení zpracování jsou výsledky uloženy do cloudové databáze (MySQL/CynosDB) a stav cache je aktualizován v Redisu.
Základní produkty a komponenty
| Komponenty | hrát roli | Klíčová doporučení pro konfiguraci/výběr | Proč si ji vybrat |
|---|---|---|---|
| Zpravní fronta CKafka | Buffr jádra systémuHrají klíčovou roli při vyrovnávání výkyvů v dodávkách energie a oddělení výroby a spotřeby energie. | Doporučujeme vybratVyšší specifikaceZajistěte šíři pásma a propustnost; počet oddílů by měl být vyšší než počet spotřebitelů, aby se zvýšila schopnost souběžné spotřeby. | Má velmi vysokou propustnost a škálovatelnost, je kompatibilní s ekosystémem Kafka, bezproblémově se integruje s různými nástroji pro zpracování velkých objemů dat a hostingová služba nevyžaduje žádnou údržbu. |
| Cloudový server CVM / Služba flexibilních kontejnerů EKS | Zpracování logiky přední části aplikace.Odpovídá za ověřování požadavků, vytváření tokenů a generování zpráv. | PoužitíFakturace podle objemuModel a jeho kombinaceElastická škálovací skupina (AS)Automatické škálování směrem nahoru a dolů na základě zatížení CPU. | Nabízí stabilní a spolehlivou výpočetní kapacitu a díky elastickému škálování se zdroje automaticky upraví před a po masivním nárůstu poptávky, což významně snižuje náklady. |
| Cloudová databáze Redis | Cache dat o hotspotech, Ukládání inventáře pro akce typu „kup si to hned“, černé listiny uživatelů, omezení frekvence atd. | VýběrTyp pamětiSpecifikace,Zapnout trvalé ukládání dat.; Použití skriptu Lua zajistí atomické snížení zásob. | Jednojádrové operace s pamětí mají extrémně vysokou výkonnost (více než 100 000 požadavků za sekundu) a jsou ideálním řešením pro čtení a zápis za vysoké paralelnosti. |
| Funkce v cloudu SCF | Konzument asynchronních úlohZískáváme zprávy z Kafka a zpracováváme hlavní logiku objednávání. | Nastavte přiměřenéPočet souběžných provádění和Počet zpráv zpracovaných najednou.Aby se zabránilo nadměrnému zatížení dolní databáze. | Event-drivenArchitektura bez serverů automaticky škáluje kapacitu podle objemu zpráv a umožňuje skutečné placení za používání a eliminuje potřebu provozní a údržbářské podpory. |
| Cloudová databáze TencentDB pro MySQL/TDSQL-C | Konečné uložení dat.Ukládá informace o objednávkách, produktech atd. do trvalé paměti. | PoužitíVysoká dostupnostDokonce iPodniková verze pro tři uzlyZajistěte konzistenci dat; doporučujeme použítOddělení čtení a psaníArchitektura. | Nabízí vysoce dostupné a výkonné databázové služby. TDSQL-C (CynosDB) je obzvláště vhodný pro scénáře s velkým počtem souběžných zápisů a má vynikající poměr ceny a výkonnosti. |
| Balancování zátěže CLB | Jednotné vstupní místo pro dataRealizovat distribuci provozu a vysokou dostupnost. | VýběrVysoce výkonná verze.Podporuje velké množství souběžných připojení. | Eliminujte jednobodové selhání a zajistěte vysokou dostupnost přístupové vrstvy. |
| Webová aplikace firewall WAF | Bezpečnostní strážceObrana proti útokům typu CC, podvodným objednávkám apod. | NastaveníPřesná ochrana proti CC.Pravidla aOvěření člověk-strojStrategy, předběžné filtrování škodlivého provozu. | Zastaví většinu útoků dřív, než se dostanou do podnikového systému, a zajistí spravedlivé podmínky pro všechny účastníky a bezpečnost podniku. |
Shrnutí přínosů programu
- ⚡ Nejlepší uživatelská zkušenost:Uživatelé požadují rychlé reakce (v milisekundách), nechtějí dlouho čekat, systém nesmí být pomalý a proces objednávání musí být hladký.
- ?️ Vysoká dostupnost a stabilita systému:Zadní systém je oddělen od špiček provozu, databáze a služby jsou neustále pod tlakem, což zcela zabraňuje náhlým výpadkům způsobeným přetížením.
- Flexibilní škálování, optimalizace nákladů:Všechny komponenty jsou elastické a škálovatelné, takže není nutné nakupovat velké množství nevyužitých zdrojů pro maximální provozní zatížení, což významně snižuje náklady na provoz a údržbu IT.
- ? Konečná konzistence dat: Za použití fronty zpráv a spolehlivé logiky spotřeby je zajištěno, že data o snížení zásob a vytvoření objednávky budou v případě vysoké paralelnosti konzistentní a zabrání se tak přeprodeji.
- ?️ Architektonická dekouplování, flexibilní a škálovatelná: Funkce jednotlivých modulů jsou jasně definované, takže pro přidání nových funkcí (jako například slevy za body nebo upozornění prostřednictvím SMS) v budoucnu bude stačit pouze přidat nové spotřebitele, aniž by bylo nutné měnit hlavní proces.
Scénáře použití a použitelní zákazníci
- Typická scéna: Velké akce na e-commerce platformách, jako například 618, Double 11 a Double 12, kde se zboží prodává za zvýhodněné ceny; možnost zakoupit nově uvedené produkty jako první; a možnost získat vstupenky na oblíbené akce prostřednictvím systému prodeje vstupenek.
- Vhodní zákazníci:
- Všechny internetové společnosti, které čelí cyklickým nebo předvídatelným výkyvům provozu.
- Průměrný denní počet návštěv je více než milion a obchodní aktivita roste rychle, což vyžaduje vysoce flexibilní architekturu e-commerce platformy.
- Technický tým, který chce přejít z vlastního, těžko udržovatelného systému pro bleskové nabídky na plně hostovanou, vysoce spolehlivou nativní cloudovou architekturu.