Apache Storm procesa datos en tiempo real y la entrada generalmente proviene del sistema de cola de mensajes. Un sistema de mensajerÃa distribuido externo proporcionará la entrada necesaria para el cálculo en tiempo real. Spout leerá los datos del sistema de mensajerÃa, los convertirá en tuplas y los inyectará en Apache Storm. Un hecho interesante es que Apache Storm utiliza internamente su propio sistema de mensajerÃa distribuida para comunicarse entre su halo y su supervisor.
La mensajerÃa distribuida se basa en el concepto de mensajerÃa confiable. Los mensajes se ponen en cola de forma asincrónica entre las aplicaciones cliente y los sistemas de mensajerÃa. Un sistema de mensajerÃa distribuida proporciona beneficios como confiabilidad, escalabilidad y persistencia.
La mayorÃa de los patrones de mensajerÃa siguen publicar-suscribirse modelo (solo Pub-Sub) donde se nombran los remitentes de mensajes editores y los que quieren recibir mensajes se llaman suscriptores…
Una vez que el remitente ha publicado un mensaje, los suscriptores pueden recibir el mensaje seleccionado mediante la opción de filtrado. Normalmente tenemos dos tipos de filtrado, uno de ellos es filtrado temático y uno mas filtrado de contenido…
Tenga en cuenta que el modelo pub-sub solo puede comunicarse mediante mensajes. Esta es una arquitectura muy débilmente acoplada; incluso los remitentes no saben quiénes son sus suscriptores. Muchas plantillas de mensajes permiten que un agente de mensajes intercambie mensajes publicados para que muchos suscriptores tengan acceso oportuno. Un ejemplo de la vida real es Dish TV, que publica varios canales como deportes, pelÃculas, música, etc., y cualquiera puede suscribirse a su propio conjunto de canales y recibirlos siempre que los canales a los que se suscriba estén disponibles.
La siguiente tabla describe algunos de los sistemas de mensajerÃa populares de gran ancho de banda.
Sistema de mensajerÃa distribuida | Descripción |
---|---|
Apache Kafka | Kafka fue desarrollado por la corporación LinkedIn y luego se convirtió en un subproyecto de Apache. Apache Kafka se basa en un modelo de publicación-suscripción persistente, distribuido y habilitado para agentes. Kafka es rápido, escalable y altamente eficiente. |
RabbitMQ | RabbitMQ es una aplicación de mensajerÃa distribuida robusta de código abierto. Es fácil de usar y funciona en todas las plataformas. |
JMS (servicio de mensajerÃa Java) | JMS es una API de código abierto que admite la creación, lectura y envÃo de mensajes de una aplicación a otra. Proporciona una entrega de mensajes garantizada y sigue un modelo de publicación-suscripción. |
ActiveMQ | ActiveMQ Messaging System es una API JMS de código abierto. |
ZeroMQ | ZeroMQ es un procesamiento de mensajes peer-to-peer sin intermediario. Proporciona patrones de mensajerÃa push-pull del distribuidor del router. |
CernÃcalo | Kestrel es una cola de mensajes distribuida rápida, confiable y simple. |
Thrift se creó en Facebook para desarrollar servicios en varios idiomas y llamadas a procedimientos remotos (RPC). Más tarde se convirtió en un proyecto Apache de código abierto. Apache Thrift es Lenguaje de definición de interfaz y le permite definir fácilmente nuevos tipos de datos e implementar servicios además de ciertos tipos de datos.
Apache Thrift también es una plataforma de comunicaciones que admite sistemas integrados, aplicaciones móviles, aplicaciones web y muchos otros lenguajes de programación. Algunas de las caracterÃsticas clave de Apache Thrift son su modularidad, flexibilidad y alto rendimiento. Además, puede realizar streaming, mensajerÃa y RPC en aplicaciones distribuidas.
Storm hace un uso extensivo del protocolo Thrift para la comunicación interna y la definición de datos. La topologÃa de la tormenta es simple. Estructuras de ahorro… Storm Nimbus que ejecuta la topologÃa en Apache Storm es Servicio de comisión…
🚫