Introducción al middleware de mensajes distribuidos

8fdf2a4d01424a3daa2f173b232efdc1.jpg¿Qué es el middleware de mensajería distribuida?

 

 

Para el middleware de mensajes distribuidos, primero debemos comprender dos conceptos básicos, a saber, qué es un sistema distribuido y qué es el middleware.

 

 

 

Sistemas distribuidos

 

“Un sistema distribuido es aquel en el que los componentes ubicados en computadoras en red se comunican y coordinan sus acciones solo pasando mensajes”.——《Conceptos y diseño de sistemas distribuidos》

 

 

 

De la explicación anterior se pueden obtener dos características de los sistemas distribuidos:

 

Los componentes se distribuyen a través de las computadoras de la red.

 

Coordina acciones entre componentes a través de mensajes.

 

software intermedio

 

El middleware es un software informático que proporciona servicios a las aplicaciones de software más allá de los disponibles en el sistema operativo. Se puede describir como "pegamento de software". El middleware facilita a los desarrolladores de software la implementación de la comunicación y la entrada/salida, para que puedan concentrarse en el propósito específico de su aplicación.——维基百科

 

 

 

El middleware se describe como el suministro de aplicaciones con servicios distintos a los proporcionados por el sistema operativo, lo que simplifica la comunicación de las aplicaciones, el desarrollo de entrada y salida y les permite centrarse en su propia lógica empresarial.

 

 

 

La explicación del middleware de Wikipedia parece un poco complicada. De hecho, el middleware se puede entender desde la perspectiva del "espacio", es decir, el middleware es un componente en la "capa intermedia", que es la conexión entre la aplicación de nivel superior y el servicio subyacente Puentes (por ejemplo, la capa superior del middleware de base de datos es el programa de aplicación y la capa inferior es el servicio de base de datos), y también es un puente entre aplicaciones (como componentes de servicios distribuidos).

 

 

 

Middleware de mensajes distribuidos

 

“Middleware orientado a mensajes (MOM) es una infraestructura de software o hardware que admite el envío y la recepción de mensajes entre sistemas distribuidos”.——维基百科

 

 

 

La definición de middleware de mensajes dada por Wikipedia es la infraestructura de hardware o software que admite el envío y la recepción de mensajes en un sistema distribuido (para el alcance de nuestra discusión aquí, debe ser software).

 

 

 

Entonces, el middleware de mensajes distribuidos en realidad significa que el middleware de mensajes también es un sistema distribuido.

 

 

 

¿Qué puede hacer el middleware de mensajes?

 

Cualquier middleware debe resolver un determinado problema en un campo específico, y el middleware de mensajes resuelve el problema de la transmisión de mensajes entre sistemas distribuidos. El paso de mensajes es un problema al que se deben enfrentar los sistemas distribuidos.

 

 

 

Suponiendo un escenario de transacción de comercio electrónico, después de que el usuario realiza un pedido, se llama al sistema de inventario para reducir el inventario, y luego se debe llamar al sistema de logística para entregar los bienes.Si la transacción, el inventario y la logística pertenecen al mismo sistema, entonces es una llamada de interfaz. Sin embargo, con el desarrollo del sistema, cada módulo se hace cada vez más grande y la lógica empresarial se vuelve cada vez más compleja, por lo que es necesario realizar la servitización y la división del negocio. En este momento, es necesario considerar cómo interactúan estos sistemas.La primera reacción es RPC (Remote Procedure Call). A medida que el sistema continúa desarrollándose, puede ser necesario llamar a docenas de interfaces para realizar negocios después de una transacción, como el sistema de control de riesgos, el servicio de SMS, etc. En este momento, el middleware de mensajes debe aparecer para resolver el problema.

 

 

 

El autor cree que la diferencia entre RPC y los escenarios de middleware de mensajes radica en gran medida en la "dependencia" y la "cantidad". Por ejemplo, el servicio de notificación por SMS no es necesario para el proceso de transacción, no afecta el proceso de pedido y no depende mucho, por lo que el sistema de transacción no debe depender del servicio de SMS. Por ejemplo, algunos programas de análisis de datos pueden necesitar obtener el volumen total de ventas de un día, lo que solo requiere que el centro de ventas proporcione una interfaz para llamar cuando sea necesario.

 

 

 

Después de la aparición del middleware de mensajes, para escenarios de transacciones, puede llamar al centro de inventario y otros sistemas fuertemente dependientes para realizar negocios y luego publicar un mensaje (este mensaje se almacena en el middleware de mensajes). Como el servicio de notificación por SMS, el servicio de estadísticas de datos, etc., todos dependen del middleware de mensajes para consumir este mensaje y completar su propia lógica comercial.

 

 

 

De los escenarios anteriores, podemos ver que el middleware de mensajes en realidad desacopla el sistema y brinda beneficios como la asincronización.

 

 

 

Un breve resumen de los escenarios de aplicación del middleware de mensajes es más o menos el siguiente:

 

Desacoplamiento de negocios: el sistema transaccional no necesita conocer la existencia del servicio de notificación por SMS, solo necesita publicar el mensaje

 

Afeitado de picos y llenado de valles: por ejemplo, la capacidad de rendimiento del sistema ascendente es mayor que la del sistema descendente, lo que puede abrumar al sistema descendente durante el pico de tráfico. El sistema consume mensajes lentamente para resolver el pico de tráfico después de que pasa el valor pico.

 

Impulsado por eventos: el negocio puede impulsarse en forma de mensajes que pasan entre sistemas y procesarse en un modelo de transmisión.

 

 

 

¿Cómo es el middleware de mensajes distribuidos?

 

 

 

Una comprensión abstracta del middleware de mensajes distribuidos es más o menos así:

 

Existe un SDK que proporciona una interfaz para que los sistemas comerciales envíen y consuman mensajes.

 

Se utiliza un lote de nodos de servidor para recibir y almacenar mensajes, y enviarlos a sistemas posteriores para su consumo cuando corresponda.

Supongo que te gusta

Origin blog.csdn.net/weixin_57763462/article/details/132000824
Recomendado
Clasificación