Glowne informacje o klientach
Grupa docelowa
Wyzwanie
Przygotowanie_do_tworzenia
Co zostalo zrobione, aby zoptymalizowac CMS
Testowanie w czasie rzeczywistym
Wyniki i korzysci
Jakie wnioski wyciagnieto i czego nauczylismy sie w trakcie tego procesu
Narodowy Bank Ukrainy posiada internetowy sklep numizmatyczny, dostępny pod adresem https://coins.bank.gov.ua/. Sklep oferuje szeroką gamę produktów, w szczególności
Projekt strony internetowej jest lakoniczny - nic nie odwraca uwagi od zakupów, ale za prostym projektem kryje się potężna funkcjonalność, automatyzacja procesów magazynowych i logistycznych.
Grupą docelową sklepu https://coins.bank.gov.ua/ są osoby zainteresowane numizmatyką, czyli badaniem lub kolekcjonowaniem banknotów, w szczególności monet, żetonów, pieniędzy papierowych i powiązanych przedmiotów. Oto kilka konkretnych grup, które mogą być zainteresowane stroną:
Kolekcjonerzy monet: Ci ludzie zbierają monety jako hobby. Mogą być zainteresowani różnorodnością monet dostępnych na stronie, w tym złotymi i srebrnymi monetami, monetami okolicznościowymi i zestawami monet.
Badacze numizmatyczni: Są to osoby lub instytucje, które badają historyczne i artystyczne aspekty monet. Mogą oni korzystać ze strony w celu uzyskania informacji na temat nowych emisji, monet historycznych i wydań specjalnych.
Inwestorzy: Niektórzy ludzie kupują monety jako inwestycję, zwłaszcza złote i srebrne monety. Osoby te mogą korzystać ze strony internetowej, aby śledzić nowe emisje i ceny.
Ogół społeczeństwa: Strona internetowa może być również interesująca dla ogółu społeczeństwa, szczególnie dla osób poszukujących wyjątkowych prezentów lub pamiątek. Monety okolicznościowe lub banknoty z edycji specjalnej będą wyjątkowym prezentem.
Miłośnicy historii i kultury: Osoby zainteresowane historią i kulturą Ukrainy również mogą odwiedzić tę stronę, ponieważ monety często odzwierciedlają ważne wydarzenia, postacie i symbole z historii kraju.
To już druga próba uruchomienia przez Narodowy Bank Ukrainy sklepu internetowego, który musiał wytrzymać bardzo wysokie obciążenie ponad 1000 dodań do koszyka w ciągu 1 sekundy. Takie obciążenie powstało, ponieważ ilość towarów jest zawsze ograniczona, a czas wyświetlania nowego limitowanego produktu jest znany wszystkim odwiedzającym. Dlatego popyt na pojedynczy przedmiot jest niezwykle wysoki.
Pierwsza wersja strony przed nami miała trudności. Chociaż platforma Solomono (wariant podstawowy) jest dość zoptymalizowana i może wytrzymać duże obciążenia, w tym przypadku wymagała dodatkowego dostosowania na wszystkich poziomach, ponieważ nie mogła wytrzymać obciążenia tego projektu.
Na stworzenie sklepu internetowego Narodowego Banku Ukrainy wyznaczono termin 6 miesięcy. Zadania, które zostały zakończone przed rozpoczęciem:
1. Skonfigurowano infrastrukturę serwerową (utworzono około 10 serwerów)
2. Zoptymalizowane serwery
3. Stworzenie niestandardowego projektu
4. Stworzenie projektu dla komputerów stacjonarnych i urządzeń mobilnych
5. Sfinalizowano wiele dodatkowych funkcji zgodnie z T3. Na przykład, dodając produkt do koszyka, klient ma 30 minut (licznik czasu z odliczaniem) na złożenie zamówienia. Towar jest natychmiast odliczany jako "niedostępny". Dla porównania, w innych silnikach towary są odejmowane "z magazynu" dopiero po złożeniu zamówienia.
6. Zintegrowane API SoloMono z wewnętrznymi systemami bankowymi. Integracja z Nowa poczta, Ukrposhta, LiqPay.
1. Buforowanie częstych zapytań do bazy danych i podział pamięci podręcznej na krótkoterminową i długoterminową
2. Rozdzielenie różnych serwerów dla różnych struktur sklepu internetowego (baza danych, panel administracyjny, front-end, mailing)
3. optymalizacja zapytań do bazy danych
4. Wdrożenie systemu kolejkowania operacji koszyka (dodawanie, odejmowanie, usuwanie) - zmniejsza to obciążenie bazy danych.
5. Wykorzystanie CDN (Content delivery network) - do wyświetlania obrazów i wszystkich innych plików statycznych (skrypty, style, czcionki).
Strona koszyka
Aby zapewnić maksymalny komfort podczas działania sklepu internetowego, nasi eksperci stworzyli niezależny dev-serwer, na którym testowana jest istniejąca funkcjonalność, a także nowe aktualizacje oprogramowania. Testy mogą być przeprowadzane zarówno przez programistów, jak i przez samego klienta.
Po przetestowaniu nowych funkcji udostępniamy nową wersję na głównej stronie internetowej. Następnie testujemy nowe funkcje na głównej stronie i sprawdzamy obciążenie. Obciążenie w trybie testowym jest tworzone przez specjalne oprogramowanie.
Podczas testów wielokrotnie identyfikowano wąskie gardła w różnych systemach - ze znacznym zmniejszeniem przepustowości i utratą udziału w wydajności. Na różnych etapach optymalizacji problemy występowały w różnych częściach, np. najpierw w bazie danych, potem w buforowaniu, potem w odczycie w sieci itd. Nasi eksperci naprawili każde wąskie gardło i przeprowadzili ponowne testy.
Strona porównania produktów
Silnik może obecnie obsłużyć wysokie obciążenie w postaci kilku tysięcy dodatków do koszyka na minutę. Jest to szczególnie ważne w dniach, w których wydawane są nowe monety. Był to główny problem, którego inne zespoły nie były w stanie rozwiązać. Efektem naszej pracy jest nieprzerwane działanie sklepu internetowego, który zapewnia sprzedaż towarów w dowolnym momencie.
Mobilna wersja sklepu internetowego
Bądźmy szczerzy - praca ze sklepem internetowym NBU nie była dla nas łatwa i ryzykowna, ale nauczyliśmy się nowych rzeczy i zwiększyliśmy nasze umiejętności po zakończeniu tego projektu. Odkryliśmy połączenie chmury i serwerów dedykowanych w jednej sieci, dostrajanie hostingu w chmurze, ustawienia replikacji, automatyczną konfigurację dodatkowych serwerów w razie potrzeby. Dowiedzieliśmy się, jak skalować poziomo i pionowo oraz jak stworzyć odpowiednią infrastrukturę serwerową i ją monitorować.
Zakładając i promując sklep internetowy, nie można obejść się bez usług pomocniczy...
Zostaw recenzję