Softonic


10.0
2.8.48 par SANJIT CHAURASIYA
Dec 5, 2022

À propos de Softonic

Softonic est la plus grande application au monde pour le téléchargement d'apk.

Softonic est la plus grande destination de découverte de logiciels et d'applications au monde et l'un des sites Web les plus fréquentés au monde. Vous avez probablement atterri sur leur site Web lorsque vous avez besoin de télécharger quelque chose - et vous n'êtes pas le seul. Plus de 100 millions d'utilisateurs accèdent à Softonic - par mois. Il s'agit d'un guide d'applications qui vous aide à découvrir les meilleures applications pour votre appareil, vous proposant des critiques, des actualités, des articles et des téléchargements gratuits.

CloudAMQP fournit des clusters RabbitMQ hébergés, dans tous les plus grands centres de données du monde et Softonic est l'un de nos nombreux clients. Nous avons rencontré Riccardo Piccoli, développeur chez Softonic, lors du RabbitMQ Summit 2018 à Londres, où il a gentiment partagé avec nous l'histoire du client Softonic.

Cet article est divisé en deux parties; la première partie est une vue d'ensemble du système, qui montre des cas d'utilisation simples de RabbitMQ d'une architecture basée sur les événements. La deuxième partie est une plongée en profondeur dans l'architecture interne de Softonic - les plugins qu'ils utilisent et des exemples d'événements qu'ils envoient.

Un cas d'utilisation simple de RabbitMQ

Les utilisateurs peuvent télécharger des fichiers sur Softonic. Tous les fichiers téléchargés sont analysés à la recherche de virus et des informations sur le fichier sont collectées, avant que le fichier ne soit distribué à d'autres utilisateurs. Les nouvelles données binaires sont, tout d'abord, conservées dans un service dédié, et une notification concernant le téléchargement est envoyée à un bus d'événements. D'autres services collectent ces informations qui seront finalement ajoutées au site Web. Dans ce cas, l'utilisateur est averti immédiatement après la réussite du téléchargement et un événement d'analyse est simplement placé sur un bus d'événements pour que d'autres services le gèrent. Un bus d'événements, également appelé file d'attente de messages, permet aux serveurs Web de répondre rapidement aux requêtes au lieu d'être obligés d'exécuter un processus gourmand en ressources sur place, et au lieu de faire attendre l'utilisateur.

Le processus de numérisation est l'un de ces services. L'application d'analyse antivirus prend un message du bus d'événements, tel qu'une commande "ScanFile" et démarre le traitement du fichier. Dans le même temps, d'autres utilisateurs peuvent télécharger de nouveaux fichiers sur Softonic et les tâches de traitement s'accumulent dans la file d'attente. L'événement "FileScanned" est rajouté au bus d'événements, une fois que l'application consommatrice a traité l'événement.

Le portail de découverte de logiciels et d'applications Softonic est atteint par plus de 100 millions d'utilisateurs par mois, fournit plus de 2 millions de téléchargements par jour et a un flux constant d'événements et de commandes entre leurs services. CloudAMQP a rencontré Softonic pour entendre leur histoire sur la façon dont RabbitMQ, en tant que bus d'événements entre microservices, contribue à une architecture fiable, rapide et efficace, parfaite pour leur objectif.

Une telle architecture crée deux applications simples et un faible couplage entre l'émetteur et le récepteur. Les utilisateurs peuvent toujours télécharger des fichiers, même si l'application de numérisation est occupée ou en cours de maintenance.

Différents événements ou commandes sont publiés sur le bus d'événements, par exemple, une commande "ScanFile".

Softonic utilise RabbitMQ comme bus d'événements, les événements ou les commandes sont simplement ajoutés à la file d'attente.

L'application consommatrice récupère l'événement et commence à traiter l'événement. Certaines données sont stockées dans la base de données et d'autres événements peuvent être publiés dans une autre file d'attente d'événements (plus d'informations à ce sujet dans « Structure interne de RabbtiMQ »).

L'application consommatrice stocke beaucoup d'informations dans une base de données (MySQL).

Lorsqu'un microservice reçoit un événement, il peut mettre à jour ses propres entités commerciales, ce qui peut entraîner la publication d'un plus grand nombre d'événements, et c'est exactement le cas ici.

Structure interne de RabbitMQ

Il est temps de se plonger dans l'architecture interne de RabbitMQ et dans l'application Softonic. Deux concepts RabbitMQ doivent être décrits si vous ne les connaissez pas déjà. Softonic utilise le plugin d'échange de hachage cohérent et le partage RabbitMQ.

asynchrone L'événement 0 sera traité immédiatement, les événements 1, 2 et 3 seront republiés dans la file d'attente afin que d'autres consommateurs partagés puissent les traiter.

Informations Application supplémentaires

Dernière version

2.8.48

Nécessite Android

4.4

Voir plus

Alternative à Softonic

Obtenir plus de SANJIT CHAURASIYA

Découvrir