Use APKPure App
Get Softonic old version APK for Android
Softonic to największa na świecie aplikacja do pobierania apk.
Softonic to największe na świecie miejsce do odkrywania oprogramowania i aplikacji oraz jedna z witryn o największym ruchu na świecie. Prawdopodobnie trafiłeś na ich stronę internetową, gdy chciałeś coś pobrać - i nie jesteś jedyny. Ponad 100 milionów użytkowników dociera do Softonic - miesięcznie. Jest to przewodnik po aplikacjach, który pomaga odkryć najlepsze aplikacje na Twoje urządzenie, oferując recenzje, wiadomości, artykuły i bezpłatne pliki do pobrania.
CloudAMQP zapewnia hostowane klastry RabbitMQ we wszystkich największych centrach danych na całym świecie, a Softonic jest jednym z wielu naszych klientów. Spotkaliśmy się z Riccardo Piccoli, deweloperem w Softonic, podczas RabbitMQ Summit 2018 w Londynie, gdzie uprzejmie podzielił się z nami historią klienta Softonic.
Ten artykuł jest podzielony na dwie części; pierwsza część to przegląd systemu, który pokazuje proste przypadki użycia RabbitMQ architektury opartej na zdarzeniach. Druga część to zagłębienie się w wewnętrzną architekturę Softonic – używane przez nich wtyczki i przykłady wysyłanych przez nich zdarzeń.
Prosty przypadek użycia RabbitMQ
Użytkownicy mogą przesyłać pliki do Softonic. Wszystkie przesyłane pliki są skanowane w poszukiwaniu wirusów i gromadzone są informacje o pliku, zanim plik zostanie rozesłany do innych użytkowników. Nowe dane binarne są przede wszystkim utrwalane w ramach dedykowanego serwisu, a powiadomienie o przesłaniu wysyłane jest na szynę zdarzeń. Inne serwisy zbierają te informacje, które ostatecznie zostaną dodane do serwisu. W takim przypadku użytkownik otrzymuje powiadomienie bezpośrednio po pomyślnym przesłaniu, a zdarzenie skanowania jest po prostu umieszczane na magistrali zdarzeń w celu obsługi przez inne usługi. Magistrala zdarzeń, zwana także kolejką komunikatów, umożliwia serwerom sieciowym szybkie reagowanie na żądania, zamiast zmuszania ich do wykonywania na miejscu procesu obciążającego zasoby i zamiast zmuszania użytkownika do czekania.
Proces skanowania jest jedną z tych usług. Aplikacja antywirusowa pobiera komunikat z magistrali zdarzeń, taki jak polecenie „ScanFile” i rozpoczyna przetwarzanie pliku. W tym samym czasie inni użytkownicy mogą przesyłać nowe pliki do Softonic, a zadania przetwarzania piętrzą się w kolejce. Zdarzenie „FileScanned” jest dodawane z powrotem do magistrali zdarzeń, gdy aplikacja konsumująca obsłuży zdarzenie.
Portal odkrywania oprogramowania i aplikacji Softonic ma ponad 100 milionów użytkowników miesięcznie, dostarcza ponad 2 miliony pobrań dziennie i ma stały przepływ zdarzeń i poleceń między swoimi usługami. CloudAMQP spotkał się z firmą Softonic, aby wysłuchać ich historii o tym, jak RabbitMQ, jako magistrala zdarzeń między mikrousługami, przyczynia się do powstania niezawodnej, szybkiej i efektywnej architektury idealnej do ich celów.
Taka architektura tworzy dwie proste aplikacje i niskie sprzężenie między nadawcą a odbiorcą. Użytkownicy mogą nadal przesyłać pliki, nawet jeśli aplikacja skanująca jest zajęta lub trwa konserwacja.
Na szynie zdarzeń publikowane są różne zdarzenia lub polecenia, np. polecenie „ScanFile”.
Softonic używa RabbitMQ jako magistrali zdarzeń, zdarzenia lub polecenia są po prostu dodawane do kolejki.
Konsumująca aplikacja pobiera zdarzenie i rozpoczyna przetwarzanie zdarzenia. Część danych jest przechowywana w bazie danych, a więcej zdarzeń może zostać opublikowanych z powrotem w innej kolejce zdarzeń (więcej na ten temat w „Struktura wewnętrzna RabbtiMQ”).
Konsumująca aplikacja przechowuje wiele informacji w bazie danych (MySQL).
Kiedy mikroserwis odbiera zdarzenie, może aktualizować własne jednostki biznesowe, co może prowadzić do publikowania większej liczby zdarzeń, i tak właśnie jest w tym przypadku.
Struktura wewnętrzna RabbitMQ
Nadszedł czas, aby zagłębić się w wewnętrzną architekturę RabbitMQ i aplikację Softonic. Jeśli jeszcze ich nie znasz, musisz opisać dwie koncepcje RabbitMQ. Softonic używa spójnej wtyczki do wymiany hash i shardingu RabbitMQ.
asynchronicznie Zdarzenie 0 zostanie przetworzone od razu, zdarzenia 1,2 i 3 zostaną ponownie opublikowane w kolejce, aby inni konsumenci podzieleni na fragmenty mogli je przetworzyć.
Last updated on Dec 5, 2022
Minor bug fixes and improvements. Install or update to the newest version to check it out!
Wymaga Androida
4.4
Kategoria
Raport