Los dos módulos
Componentes en tiempo de ejecución
La tubería
Los protocolos entrantes crean un mensaje interno y lo encolan. Los hilos del enrutador evalúan la tabla de enrutamiento y encolan en una o más colas de trabajadores. Los hilos de trabajador realizan la entrega específica del protocolo.Dónde vive el estado
Dos de esos vale la pena conocerlos con precisión:
El almacén de acuses es el único estado persistente fuera de PostgreSQL. Recuerda qué id de
mensaje del proveedor pertenece a qué envío, y guarda los acuses de un cliente que se ha desconectado.
Consulte los ajustes del almacén.
El crédito reservado está en memoria. El crédito se entrega a un trabajador en bloques y se gasta
desde un contador, por lo que no hay escritura en base de datos en la ruta del mensaje. Un apagado
limpio devuelve lo no gastado; un
kill -9 lo deja varado hasta que se ejecuta
fireflo credit release. balance + reserved se conserva de cualquier
forma.
Ambas direcciones
FireFlo no es solo una pasarela saliente.
La propiedad de un mensaje entrante se resuelve mediante
mo.owner.map en el listener, y un mensaje
sin mapear no va a ninguna parte en lugar de a una suposición. Consulte
los ajustes del listener.