Red de conocimiento informático - Conocimiento del nombre de dominio - Cómo elegir el middleware de mensajería de código abierto adecuado

Cómo elegir el middleware de mensajería de código abierto adecuado

Hay tres opciones:

1. ActiveMQ/ApolloMQ

Ventajas: Cola de mensajes antigua, escrita en lenguaje Java. Es mejor compatible con JMS, utiliza concurrencia de subprocesos múltiples y consume muchos recursos. Si tu idioma principal es Java, puedes concentrarte en aprenderlo.

Desventajas: Debido a su larga historia y su gran bagaje histórico, las actualizaciones de versiones son muy lentas. El modo de clúster debe depender de Zookeeper para su implementación. El último producto de arquitectura se llama Apollo y actualmente hay muy pocos casos llamados ActiveMQ de próxima generación.

2.rocket MQ/Kafka

Ventajas: Diseñado para mensajería grupal, abogando por el uso del modo pull, agrupación natural, HA y soporte de equilibrio de carga. Nuevamente, depende de si tienes una cantidad tan grande.

Desventajas: No puedes quedarte con tu pastel y comértelo también. Se renuncia a parte de la flexibilidad del middleware de mensajería y se utiliza un escenario limitado. Debe prestar atención a si su modelo de negocio encaja; de lo contrario, será vergonzoso utilizar imitadores disfrazados. Además, no hay ningún cliente disponible en RocketMQ. neto. RocketMQ es muy conocido, pero tiene pocos usuarios y un ecosistema pequeño. Después de todo, no muchas empresas pueden alcanzar este nivel de volumen de noticias. También puedes comprar directamente el servicio de mensajería en Alibaba Cloud. Kafka tiene una ecología perfecta, el código está escrito en lenguaje Scala y su confiabilidad no es tan buena como la de RocketMQ.

3. Rabbit q

Ventajas: ecología rica, muchos usuarios y muchas personas que entrarán en la trampa. El protocolo AMQP se implementa bajo liderazgo y admite múltiples escenarios. El clúster MySQL de Taobao lo utiliza para la comunicación, y el componente de comunicación de la plataforma en la nube de código abierto OpenStack se utilizó por primera vez en la industria financiera.

Desventajas: ¿Puedo contener el código Erlang? Si bien Erlang es inherentemente agrupable, RabbitMQ no es particularmente conveniente para una alta disponibilidad. No creas en la publicidad.