Red de conocimiento informático - Conocimiento del nombre de dominio - Los sobres rojos se distribuyen en los grupos de WeChat. ¿Cómo se calcula la cantidad de sobres rojos que reciben los miembros del grupo? ¿Es aleatoria o de dónde proviene?

Los sobres rojos se distribuyen en los grupos de WeChat. ¿Cómo se calcula la cantidad de sobres rojos que reciben los miembros del grupo? ¿Es aleatoria o de dónde proviene?

Los sobres rojos se distribuyen en los grupos de WeChat. La cantidad de sobres rojos que reciben los miembros del grupo es generalmente aleatoria, por lo que la cantidad de veces que cada persona recibe sobres rojos es diferente. Algunos reciben más, otros reciben menos y otros. algunos La cantidad que recibe es solo 0,01 centavos. Cuando entrega sobres rojos, todos reciben la misma cantidad. Esto requiere que escriba un número especial cuando entrega sobres rojos. El sistema distribuirá uniformemente el dinero a cada persona que los tome. el sobre rojo de acuerdo con la cantidad de personas a las que envía sobres rojos.

Los usuarios que toman paquetes rojos en WeChat se dividen en dos operaciones: tomar paquetes y descomprimirlos. El robo del paquete determina si queda algo de cantidad en el sobre rojo, pero si no actúas lo suficientemente rápido, es posible que otros usuarios hayan arrebatado el sobre rojo durante la etapa de desembalaje.

¿Cuándo se calcula el importe del sobre rojo? Según los comentarios del equipo de arquitectura experto en Alipay de Tencent, la cantidad del sobre rojo se calcula en tiempo real cuando se abre el sobre rojo, en lugar de asignarse por adelantado. El cálculo en tiempo real se basa en la memoria y no requiere almacenamiento adicional. La eficiencia del cálculo en tiempo real también es muy alta. Cada vez que se abre un sobre rojo, el sistema tomará un valor entre 0,01 y el promedio restante *2 como monto del sobre rojo.

Para garantizar la atomicidad de cada operación, se utiliza CAS durante el proceso de empaquetado para garantizar que solo un usuario simultáneo abra con éxito el sobre rojo a la vez. El sistema reintentará automáticamente a los usuarios que no puedan descomprimir CAS. Sin embargo, también es posible que otro usuario tenga ventaja en el proceso de reintento y se quede con las manos vacías, por lo que descomprimir las llamadas fallidas se aplica estrictamente para garantizar que los usuarios sean atendidos por orden de llegada.

Basado en las razones anteriores, alguien en el grupo mencionó que este algoritmo es un poco complicado. Para reducir el almacenamiento, los sobres rojos de WeChat realizarán un cálculo en tiempo real un poco más complicado, es decir. un poco más complicado de entender. Compare esto con el enfoque de cantidades preasignadas en el que piensan la mayoría de los arquitectos. La cantidad preasignada debe guardarse en la cola de memoria. Si hay más recursos compartidos de sobre rojo, se requiere mayor espacio de almacenamiento. Los sobres rojos de WeChat solo almacenan 2 números, como recuento: saldo. El conteo indica cuántas personas aún quieren obtener, mientras que el saldo solo devuelve la cantidad restante.

Sin embargo, las cantidades preasignadas no necesariamente requieren espacio de almacenamiento adicional. Por ejemplo, al utilizar un algoritmo aleatorio, el número aleatorio en realidad devuelve una secuencia aleatoria con la misma semilla, que también es fija.

De hecho, los sobres rojos del grupo WeChat utilizan el método de doble media, es decir, el límite superior de cada aleatorización es el doble del promedio de las cantidades restantes de los sobres rojos.