El concepto de cola de mensajes entra en contexto cuando dos procesos diferentes con capacidad limitada se comunican entre sí a través del mecanismo de comunicación de transmisión de mensajes. Un ejemplo de dicho sistema utilizado industrialmente es la cola de mensajes rojizos (RPOPLPUSH – Redis).
Como podemos observar, hay tres cosas aquí, un proceso que puede enviar y recibir un mensaje, una cola que no es más que una estructura de datos primero en entrar, primero en salir y un mensaje.
Podemos definir el sistema de la siguiente manera: un proceso se conecta con la programación de la cola de mensajes a través de una comunicación punto a punto utilizando un puerto predefinido no. (suponiendo que los sistemas están en una máquina diferente, en una sola máquina, sin embargo, se puede usar la llamada al programa Interop e incluso hacerlo más sistema, si todo el sistema se realiza en una sola aplicación modular, la llamada de función modular con referencia de valor de llamada también sería suficiente )
Tampoco el proceso del remitente envía el mensaje a la cola. Firma de la función podría ser como.
int sendMessage( char * receiver, int queue_port, char * msg_body)
Create message structure.
Create a queue host object.
- ¿Por qué las principales compañías tecnológicas como Google, Facebook y Quora evalúan a sus candidatos principalmente en su DSA pero no en el desarrollo de software y las habilidades tecnológicas?
- Recientemente fallé la pantalla de mi teléfono Google y me siento devastado. Fallar significa que nunca tuve una oportunidad en primer lugar. ¿Debería molestarme en intentarlo nuevamente en un año?
- ¿Cuáles son las mejores y peores cosas de las entrevistas telefónicas técnicas?
- Cómo reorganizar una matriz determinada para que Arr [I] se convierta en Arr [Arr [I]] con O (1) espacio adicional
- Por lo general, no apruebo las entrevistas en la pizarra, ya que no tengo memoria enciclopédica / diccionario del marco .net. ¿Cómo puedo tener más éxito durante la parte técnica del proceso de la entrevista?
invoke queue host call back method to push message in queue.
Supongamos que el mensaje es una estructura que contiene los siguientes campos.
mensaje de estructura {
char * remitente;
char * receptor;
tamaño uint_64;
mensaje char *;
}
Por lo tanto, la estructura de la cola se puede escribir como
Queue msg_queue.
Ahora el host de la cola realiza dos tareas, coloca el mensaje en cola y retira el mensaje de solicitud. Aquí estamos asumiendo que solo dos (módulos) procesados se están comunicando, en función del diseño, el host de la cola puede asignar múltiples colas para cada par de módulos que se comunican a través del paso de mensajes. Para varias arquitecturas de quque, a cada módulo se le asigna un número de puerto específico asociado con su lista de colas.
Y, finalmente, recibe un módulo que agrupa la cola de mensajes con frecuencia para verificar si hay algún mensaje nuevo allí. Si su espacio local está disponible, lee los datos que el host de la cola ha eliminado.