Ú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ť:

Řešení pro systém Tencent Cloud CKafka pro rychlé zpracování objednávek: asynchronní vyrovnávání výkyvů poptávky a snadné zvládnutí miliardy objednávek za sekundu – LikaCloud.

Přehled pracovních postupů.

  1. Žá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ů.
  2. 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ě”.
  3. 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.
  4. 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.
  5. 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

Komponentyhrát roliKlíčová doporučení pro konfiguraci/výběrProč si ji vybrat
Zpravní fronta CKafkaBuffr 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ů EKSZpracová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 RedisCache 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 SCFKonzument 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-CKoneč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 CLBJednotné 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 WAFBezpeč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.

Související odkazy

Tencent Cloud Message Queue CKafka 1100TP4T je kompatibilní s verzemi Apache Kafka od 0.9.0 do 3.2.0.
Příklad modelu CVM od společnosti Hengchi. Největší pokles nákladů na výpočetní výkon přesahuje 451 TP4T.
Cloudová databáze Redis Kompatibilita s protokoly Redis a Memcached
Tencent Cloud Functions SCF Bezserverové provozní prostředí
Balancování zatížení v Tencent Cloud (CLB) Nabízíme bezpečné a rychlé služby distribuce datového provozu na 4 až 7 úrovních.
Cloudově nativní MySQL (TDSQL-C) 1100TP4T je kompatibilní s MySQL.
Webová aplikace firewall T-Sec Identifikace webových útoků založená na pravidlech AI+.
Bezplatné vyzkoušení produktů Tencent Cloud. Bezplatné zkušební verze více než 60 cloudových produktů.