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

Krótki opis procesu pracy.::
- Żą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.
- Żą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ą.
- 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 komponenty | Granie ról | Kluczowe zalecenia dotyczące konfiguracji/wyboru. | Dlaczego wybrałeś to? |
|---|---|---|---|
| Gateway API Tencent Cloud | Głó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 Redis | Wysokowydajna 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
- Kampania promująca produkt TDSQL-C w chmurze Tencent.Poznaj natychmiast tę wysokowydajną, chmurę opartą bazę danych.
- \nKampania promująca produkt Redis w chmurze Tencent.Uzyskaj więcej informacji o usługach wysokowydajnej pamięci podręcznej.
- Bezpłatna wersja próbna produktów Tencent Cloud.Doświadczaj natychmiast i stwórz swoją pierwszą architekturę o wysokiej wydajności.
- Dowiedz się więcej o rozwiązaniach e-commerce.Poznaj najlepsze praktyki w innych branżach.