En primer lugar, ¿por qué el uso de colas de mensajes
1. desacoplado y asíncrona
El uso de colas de mensajes puede llegar a ser llamadas síncronas llamada asincrónica, mientras se reduce el grado de acoplamiento entre los módulos del sistema
2. recorte
Objeto cuando la presión del sistema es demasiado grande, el funcionamiento de la memoria caché en la cola de mensajes, el mensaje se vuelve a leer continuamente operado, alcanzar el pico de recorte
3. Multiplexing (escalabilidad)
Si desea enviar un mensaje al sistema de una pluralidad de sistemas, cada caso subsistema adicional, el código tendría que modificar el sistema de A, entonces el uso de colas de mensajes, sistema de A envía un mensaje a la cola de mensajes, el otro sistema puede leer el mensaje. Justo a la cola de mensajes y cuando el sistema pueda leer el mensaje
En segundo lugar, la necesidad de tomar precauciones
1. Tenga en cuenta que mejoran la facilidad de uso
MQ cuando el servidor se cae, el programa de copia de seguridad.
2. La complejidad del sistema para mejorar
- Mensaje que se repite problema de consumo
- problema de la pérdida de mensajes
- cuestión de orden de entrega de mensajes
3. consistencia
Cuando el sistema multi-processing con un mensaje, una llamada sincrónica devuelve un error puede ser directamente, usando una llamada asincrónica cómo el procesamiento de cola de mensajes
En tercer lugar, la comparación middleware de mensajería común
ActiveMQ | RabbitMQ | RocketMQ | Kafka | |
---|---|---|---|---|
lenguaje de implementación | Java | Erlang | Java | Scala |
rendimiento | mil diez | mil diez | Cien mil | Cien mil |
envejecimiento | Sra | microsegundo | Sra | Sra |
disponibilidad | High (maestro-esclavo) | High (maestro-esclavo) | Muy alta (distribuido) | Muy alta (distribuido) |