Wstęp (analiza problemu)

Czy Twój system zamówień napotyka aktualnie poważne wyzwania, gdy szczytowy ruch w czasie promocji wzrasta z poziomu dziesiątek tysięcy do milionów, a nawet setek milionów?

  • Baza danych jest przeciążona.Gdy tradycyjne bazy danych relacyjne (takie jak MySQL) są poddawane nagłemu, masowemu obciążeniu żądaniami zamówień, IOPS i liczba połączeń szybko osiągają swój limit, co prowadzi do znacznego opóźnienia w odpowiedzi i ostatecznie do awarii systemu, co z kolei ma bezpośredni wpływ na wielkość transakcji.
  • Problem z nadmierną sprzedażą zapasów.W scenariach wysokiej wydajności proste blokady transakcji bazodanowych lub blokady na poziomie aplikacji mogą łatwo zawieść, co prowadzi do “nadmiernej sprzedaży” w związku z odliczaniem zapasów, co z kolei poważnie szkodzi reputacji platformy i może skutkować skargami klientów.
  • Niska stabilność systemu.Awaria pojedynczej usługi lub węzła bazy danych może spowodować “efekt domina” w całym łańcuchu aplikacji, uniemożliwiając dostęp do usługi dla wszystkich użytkowników i drastycznie pogarszając ich doświadczenia.

Jeśli masz problemy z opóźnieniami w systemie spowodowanymi dużą liczbą zamówień, ryzykiem wyprzedania towaru i wysokimi kosztami utrzymania, ten artykuł przedstawi sprawdzone w praktyce kompleksowe rozwiązanie oparte na kluczowych produktach Tencent Cloud.

Diagram architektury rozwiązania i jego opis.

Program ten wykorzystuje“Ograniczenie dostępu na poziomie warstwy dostępowej -> przechwytywanie na poziomie warstwy buforowej -> trwała archiwizacja na poziomie warstwy bazy danych”.Koncepcja hierarchicznego ograniczania szczytów pozwoliła na wykorzystanie wielu kluczowych produktów Tencent Cloud do stworzenia stabilnego, wydajnego i elastycznego systemu składania zamówień przy dużym ruchu.

Diagram architektury

Bez zakłóceń w realizacji zamówień o wartości ponad miliarda juanów podczas wydarzenia „Double 11”: rozwiązanie z zakresu architektury buforowania danych w chmurze TDSQL-C firmy Tencent Cloud oraz Redis — LikaCloud.

Krótki opis procesu pracy.::

  1. Żądanie użytkownika jest najpierw przetwarzane przezGateway API Tencent CloudUwierzytelnianie i precyzyjne ograniczenie przepustowości pozwalają na blokowanie nieprawidłowych i nadmiernych żądań poza systemem.
  2. Żądanie, które zostało zweryfikowane, przechodzi do warstwy logiki biznesowej, a główną operacją jest wywołanie funkcji.Tencent Cloud RedisAtomiczne polecenia zmniejszają zapasy, rozwiązują problem z nadmierną sprzedażą i pochłaniają większość presji związanej z równoległością.
  3. Po pomyślnym dokonaniu potrącenia z zapasów dane zamówienia są asynchronicznie zapisywane w kolejce wiadomości, a następnie są one płynnie zapisywane przez usługę konsumencką.Tencent Cloud TDSQL-CAby uniknąć obciążenia bazy danych, należy przeprowadzić ostateczną trwałą migrację.

Szczegółowe informacje o głównych produktach i komponentach.

Kluczowe komponentyGranie rólKluczowe zalecenia dotyczące konfiguracji/wyboru.Dlaczego wybrałeś to?
Gateway API Tencent CloudGłówny punkt wejścia i obrony przed atakiem DDoS.Odpowiada za autoryzację żądań, uwierzytelnianie, kontrolę przepływu danych, buforowanie i wyłączanie, a także ochronę tylnej części klastra biznesowego przed przeciążeniem.W odniesieniu do… /createOrderKonfiguracja interfejsów rdzeniowych ​Ograniczenie przepustowości QPS.; UruchomBuforowanie w odpowiedziAby odpowiadać na powtarzające się żądania, np. wyszukiwanie informacji o produkcie.Nie wymaga to kodowania, aby zrealizować zaawansowane zarządzanie ruchem i zapewnić wysoką dostępność oraz elastyczność usług na poziomie wejściowym, co stanowi pierwszą gwarancję stabilności systemu.
Tencent Cloud RedisWysokowydajna pamięć podręczna i centrum kontroli zapasów.Przejmujemy obsługę pamięci podręcznej danych związanych z produktami (informacje o towarach) i udostępniamy je w formie usługi. DECRGdy polecenia atomowe zrealizują potrącenie z zapasów, problem z nadmierną sprzedażą zostanie całkowicie rozwiązany.WybierzPamięć typu RAM.Specyfikacje gwarantują bardzo wysoką wydajność; zaleca się je włączyć.PersystencjaFunkcja zapobiega utracie danych; użyj jej.Cluster RedisAby zwiększyć pojemność i wydajność, można użyć modelu skalowania w poziomie.Zapewnia stabilność i wydajność znacznie przewyższającą tę, którą uzyskuje się przy samodzielnym tworzeniu instancji Redis, a także oferuje automatyczną możliwość przełączania się na zapasową instancję i rozbudowy w trybie online, co jest kluczowe, gdy chodzi o obsługę dużego ruchu wejściowego i wyjściowego w krótkim czasie.
Tencent Cloud TDSQL-C (wersja PostgreSQL)Silnik trwałego przechowywania danych o wysokiej dostępności.Jest odpowiedzialny za bezpieczne i niezawodne przechowywanie wszystkich danych z zamówień oraz stanowi “jedyny autorytatywny źródło informacji” o transakcjach.PrzyjętoServerlessElastyczna skalowalność wzorców lub węzłów obliczeniowych, aby radzić sobie z wahaniami ruchu;Instancja tylko do odczytu.Przejmij odpowiedzialność za zapytania o raporty, aby zmniejszyć obciążenie głównej bazy danych.Architektura oparta na chmurze zapewnia maksymalną elastyczność i wysoką wydajność, a także doskonałą wydajność zapisu i pełną kompatybilność z PostgreSQL, co gwarantuje dużą spójność i wysoką niezawodność danych.

Streszczenie zalet rozwiązania.

  • ⚡ Przetwarzanie z bardzo dużą jednoczesnością.Dzięki połączeniu operacji pamięci Redis z ograniczeniami przepustowości bramki API można łatwo obsługiwać miliony żądań na sekundę i zapewnić płynną realizację procesu składania zamówień.
  • ?️ Dane są absolutnie wiarygodne.Redis zapewnia wykonanie atomowych poleceń, co pozwala uniknąć nadmiernej sprzedaży, a TDSQL-C gwarantuje trwałość danych na poziomie finansowym oraz wysoką dostępność, zapewniając, że każde zamówienie zostanie wykonane poprawnie.
  • ? Optymalizacja kosztów do absolutnego minimum.Architektura warstwowa przenosi większość obciążenia na tańszą warstwę pamięci podręcznej, a elastyczność TDSQL-C pozwala uniknąć konieczności przygotowania dużej liczby zasobów bazodanowych na wypadek szczytowego ruchu, co znacząco zmniejsza koszty.
  • ? Utrzymanie i obsługa są proste i skuteczne.Usługi w pełni zarządzane eliminują kłopoty związane z obsługą i konserwacją infrastruktury na poziomie podstawowym, a także umożliwiają elastyczną skalowalność, dzięki czemu zespoły programistyczne mogą skupić się na innowacjach biznesowych.

Scenariusze użycia i klienci, dla których są przeznaczone.

  • Typowe scenariusze użycia::
    • Ekspresowe oferty promocyjne w e-handlu.Skupianie się na zakupach limitowanych produktów podczas takich wydarzeń jak Double 11 czy 618 oraz rozdawanie kuponów rabatowych.
    • System rezerwacji biletów umożliwiający ich szybkie wykupienie.Sprzedaż online popularnych biletów na koncerty, wydarzenia itp.
    • Premiera bestselleraPremiera online nowych telefonów, popularnych butów i innych produktów.
  • Charakterystyka klientów, których to dotyczy.::
    • Działalność charakteryzuje się wyraźnymi wzlotami i upadkami, a szczytowa liczba równoległych żądań przekracza 10 000.
    • Wymagania dotyczące spójności danych są bardzo wysokie i nie można zaakceptować takich sytuacji jak nadmierna sprzedaż czy błędne zamówienia.
    • Dążąc do stabilności systemu i wysokiej dostępności, chcemy stworzyć elastyczną architekturę skoncentrowaną na przyszłości.

Powiązane linki