Softonic


10.0
2.8.48 por SANJIT CHAURASIYA
05/12/2022

Sobre Softonic

Softonic es la aplicación de descarga de apk más grande del mundo.

Softonic es el destino de descubrimiento de aplicaciones y software más grande del mundo y uno de los sitios web con más tráfico del mundo. Probablemente haya aterrizado en su sitio web cuando necesita descargar algo, y no es el único. Más de 100 millones de usuarios llegan a Softonic al mes. Es una guía de aplicaciones que te ayuda a descubrir las mejores aplicaciones para tu dispositivo, ofreciéndote reseñas, noticias, artículos y descargas gratuitas.

CloudAMQP proporciona clústeres RabbitMQ alojados en todos los centros de datos más grandes del mundo y Softonic es uno de nuestros muchos clientes. Nos reunimos con Riccardo Piccoli, un desarrollador de Softonic, en el RabbitMQ Summit 2018 en Londres, donde amablemente compartió la historia de un cliente de Softonic con nosotros.

Este artículo se divide en dos partes; la primera parte es una descripción general del sistema, que muestra casos de uso simples de RabbitMQ de una arquitectura basada en eventos. La segunda parte es una inmersión profunda en la arquitectura interna de Softonic: complementos que utilizan y ejemplos de eventos que envían.

Un caso de uso simple de RabbitMQ

Los usuarios pueden subir archivos a Softonic. Todos los archivos cargados se escanean en busca de virus y se recopila información sobre el archivo, antes de que el archivo se distribuya a otros usuarios. Los nuevos datos binarios, en primer lugar, se mantienen dentro de un servicio dedicado y se envía una notificación sobre la carga a un bus de eventos. Otros servicios recopilan esta información que finalmente se agregará al sitio web. En este caso, el usuario recibe una notificación inmediatamente después de que la carga haya tenido éxito y un evento de escaneo simplemente se coloca en un bus de eventos para que lo manejen otros servicios. Un bus de eventos, también llamado cola de mensajes, permite que los servidores web respondan a las solicitudes rápidamente en lugar de verse obligados a realizar un proceso que consume muchos recursos en el momento y en lugar de hacer esperar al usuario.

El proceso de escaneo es uno de esos servicios. La aplicación de detección de virus toma un mensaje del bus de eventos, como un comando "Escanear archivo" e inicia el procesamiento del archivo. Al mismo tiempo, otros usuarios pueden cargar nuevos archivos en Softonic y las tareas de procesamiento se acumulan en la cola. El evento "FileScanned" se vuelve a agregar al bus de eventos, una vez que la aplicación consumidora ha manejado el evento.

El portal de descubrimiento de software y aplicaciones Softonic cuenta con más de 100 millones de usuarios al mes, ofrece más de 2 millones de descargas al día y tiene un flujo constante de eventos y comandos entre sus servicios. CloudAMQP se reunió con Softonic para escuchar su historia sobre cómo RabbitMQ, como un bus de eventos entre microservicios, contribuye a una arquitectura confiable, rápida y efectiva perfecta para su propósito.

Una arquitectura como esta crea dos aplicaciones simples y de bajo acoplamiento entre el emisor y el receptor. Los usuarios aún pueden cargar archivos, incluso si la aplicación de escaneo está ocupada o en mantenimiento.

Se publican diferentes eventos o comandos en el bus de eventos, por ejemplo, un comando "Escanear archivo".

Softonic está utilizando RabbitMQ como un bus de eventos, los eventos o comandos simplemente se agregan a la cola.

La aplicación consumidora recupera el evento y comienza a procesarlo. Algunos datos se almacenan en la base de datos y es posible que se publiquen más eventos en otra cola de eventos (más información sobre esto en "Estructura interna de RabbtiMQ").

La aplicación consumidora almacena mucha información en una base de datos (MySQL).

Cuando un microservicio recibe un evento, puede actualizar sus propias entidades comerciales, lo que podría generar que se publiquen más eventos, y ese es exactamente el caso aquí.

Estructura interna de RabbitMQ

Es hora de profundizar en la arquitectura interna de RabbitMQ y en la aplicación Softonic. Es necesario describir dos conceptos de RabbitMQ si aún no está familiarizado con ellos. Softonic está utilizando el complemento de intercambio de hash consistente y la fragmentación de RabbitMQ.

de forma asincrónica, el evento 0 se procesará de inmediato, los eventos 1, 2 y 3 se volverán a publicar en la cola para que otros consumidores fragmentados puedan procesarlos.

Información Adicional de Aplicación

Última Versión

2.8.48

Requisitos

4.4

Reportar

Marcar como inapropiado

Mostrar más

Alternativa de Softonic

Obtenga más de SANJIT CHAURASIYA

Descubrir