¿Por qué utilizar una cola de mensajes?

preguntas de la entrevista

  • ¿Por qué utilizar una cola de mensajes?
  • Message Queue Server ¿Qué ventajas y desventajas?
  • Kafka, ActiveMQ, RabbitMQ, RocketMQ cuál es la diferencia, y qué escenarios en forma?

Entrevistador análisis psicológico

De hecho, el entrevistador quiere sobre todo para ver:

  • En primer lugar : ¿Por qué se utiliza esta técnica?
    Muchos entrevistadores ¿Por qué utilizar esta tecnología para la falta de pensamiento, pero sólo para el uso con, y no tener su propio pensamiento independiente, el concepto de diseño de la arquitectura ni global.
  • En segundo lugar : ¿Está claro que a los pros y los contras de esta tecnología?
    Ya sea por las habilidades de pensamiento profundo, entender los pros y los contras de la introducción de la nueva tecnología trae. Si no, sólo el manejo de las herramientas de código, la falta de pensamiento independiente.
  • Tercero : La selección de las consideraciones técnicas?
    MQ productos en el mercado maduran mucho, nadie es absolutamente perfecto, no hemos considerado la cuestión de la selección de la tecnología.

Análisis de preguntas de la entrevista

¿Por qué utilizar una cola de mensajes?

De hecho, sólo quiero saber cuál es la razón porque la tecnología MQ introdujo, con el fin de resolver lo problemas. Entrevistador está buscando a la respuesta es, ¿Tiene su empresa qué tipo de escenario de negocios, este escenario qué tipo de desafíos técnicos, puede haber problemas y sin MQ, MQ introdujo ahora trae los beneficios.
Por MQ beneficios son: desacoplamiento, asíncrono, el recorte .

desacoplamiento

Este escenario suele publicar suscribir modelo, por ejemplo: Sistema Un sistema para dar B, C, D para enviar mensajes. Si esta vez añadiendo un nuevo sistema de E, es necesario cambiar el sistema de código A puede enviar un mensaje al sistema E, si está utilizando MQ, los productores y los consumidores pueden desacoplarse.
Resumen : a través de un MQ, para lograr Pub / Sub publicar suscribir modelo de dicho modelo, para lograr un desacoplamiento.
Consejos para la entrevista : Se deben considerar si existe un sistema propio escena similar se llama un módulo de un número de otros módulos, para mantener un montón de problemas con los demás. Pero la llamada realidad no requiere de llamadas síncronas. Si está utilizando MQ desacoplamiento asíncrona, es también posible. Esto se refleja en su hoja de vida, utilizando MQ desacoplamiento.

asincrónico

Si A recibe una petición de escribir su propia biblioteca local requiere de 100 ms, mientras que el B para llamar al sistema de toma de 200ms, 100ms los costes del sistema C, D 300 ms el costo del sistema. El que consume tiempo total en comparación con 700 ms, que en el proyecto de Internet pueden ser toleradas. MQ utilizará llamada asincrónica, a continuación, un sistema de este tipo es casi igual 100ms pueden ser devueltos.

recorte

sistema de QPS lo general alrededor de 50 o menos, pero cuando se enfrentan a una situación de emergencia, QPS se elevó a 5000, si el sistema de solicitud de datos se basa directamente en MySQL, y luego MySQL puede bloquearse. TPS del general de MySQL en aproximadamente 2K. avalancha pico instantáneo puede causar que aparezca el sistema.
Si el MQ, el tiempo máximo de datos de escritura a MQ, de acuerdo a su consumidor final pueda permitirse el lujo de gastar, no porque la solicitud de una presión excesiva causa un accidente. A continuación, el sistema es el tiempo de inactividad, para exprimir datos consumidos.
Se deja que el apretón corto, porque cuando el pico del pasado, el sistema se consume rápidamente los datos de compresión.

Message Queue ¿Cuáles son las desventajas?

Ventajas ya han dicho, hay beneficios correspondientes en escenas especiales: desacoplamiento, asíncrono, recorte.
El principal inconveniente de los tres siguientes:

  • La reducción de la disponibilidad del sistema:
    la introducción de dependencias externas, la más baja disponibilidad. Las llamadas directas, siempre y cuando no hay un fallo del sistema no van a ir mal. Pero una vez introducido MQ, debemos tener en cuenta los problemas de usabilidad MQ.
  • Aumentar la complejidad del sistema:
    el sistema añade un MQ entró, las cuestiones a tener en cuenta será más, debe tener en cuenta la forma de garantizar la situación no consumo de repetición (idempotencia), cómo manejar el caso de pérdida de mensajes (fiabilidad), cómo asegurar una mensajería ordenada (secuencial).
  • Consistencia:
    Si un sistema procesa directamente de vuelta al éxito, el sistema BCD en caso de que haya errores, entonces apareció situación de los datos inconsistentes, cómo hacer frente a?

Por lo que la cola de mensajes es una arquitectura muy compleja, introducido traerá algunos beneficios, pero si por ninguna consideración por todas partes, pero habrá una serie de problemas. Sin embargo, en algunos casos, el uso o si desea utilizar, cómo evitar la necesidad de limpiar el riesgo.

Kafka, ActiveMQ, RabbitMQ, RocketMQ qué ventajas y desventajas?

propiedad ActiveMQ RabbitMQ RocketMQ Kafka
Stand-alone Rendimiento Diez mil, inferior a RocketMQ, Kafka un orden de magnitud con ActiveMQ 100000 nivel, el apoyo de alto rendimiento 100.000, de alto rendimiento, las grandes clases de datos con el sistema general de datos de cálculo en tiempo real, la recopilación de registros y otras escenas
El número de tema sobre el impacto en el rendimiento tema puede llegar a cientos / miles de niveles, el rendimiento disminuirá en menor medida, esto es una gran ventaja RocketMQ, en la misma máquina, puede soportar un gran número de tema tema de decenas a cientos de veces, el rendimiento podría disminuir significativamente, el uso de Kafka tema para asegurarse de que no demasiado
oportunidad nivel ms Microsegundos, que es una característica importante de RabbitMQ, menor latencia nivel ms Dentro de retardo en ms
disponibilidad Alta, basado en una arquitectura maestro-esclavo con ActiveMQ Muy alto, arquitectura distribuida arquitectura muy alta, distribuida, un nodo va hacia abajo no afectará a otros nodos
mensaje fiabilidad Hay poca probabilidad de pérdida Basic no se pierde 0 pérdida puede ser configurado para hacer con RocketMQ
funciones de apoyo función MQ y campo completo Basado en el desarrollo de Erlang, la concurrencia es muy fuerte, un excelente rendimiento, baja latencia MQ función más perfecta, o una arquitectura distribuida, escalabilidad La función es relativamente simple, la función principal de soporte sencilla MQ, tiempo real, y los datos recopilados en el campo es el uso a gran escala

Después de la síntesis, varias comparación, tiene las siguientes recomendaciones:
PYME recomienda el uso de RabbitMQ, rica interfaz de gestión de la caja, una buena estabilidad.
Hay capacidad de auto-desarrollo de las empresas, se puede utilizar RocketMQ, apoyando alto rendimiento.
Hay un gran negocio de datos-relacionados, que puede ser utilizado directamente Kafka, Kafka, después de todo, en el campo de datos grande ya es un estándar de facto.

Publicado seis artículos originales · ganado elogios 0 · Vistas 28

Supongo que te gusta

Origin blog.csdn.net/qq_26375325/article/details/105081172
Recomendado
Clasificación