Les deux modules
Composants d’exécution
Le pipeline
Les protocoles entrants créent un seul message interne et le placent en file d’attente. Les threads du routeur évaluent la table de routage et placent le message dans une ou plusieurs files d’attente de workers. Les threads workers effectuent la livraison spécifique au protocole.Où vit l’état
Deux d’entre eux méritent d’être connus avec précision :
Le magasin d’accusés est le seul état persistant en dehors de PostgreSQL. Il retient quel
identifiant de message vendor appartient à quelle soumission, et conserve les accusés d’un client qui
s’est déconnecté. Voir les paramètres du magasin.
Le crédit réservé est en mémoire. Le crédit est distribué à un worker par blocs et dépensé depuis
un compteur, donc il n’y a pas d’écriture en base sur le chemin du message. Un arrêt propre restitue
ce qui n’est pas dépensé ; un
kill -9 le bloque jusqu’à ce que
fireflo credit release s’exécute. balance + reserved est conservé dans
les deux cas.
Les deux directions
FireFlo n’est pas seulement un gateway sortant.
Le propriétaire d’un message entrant est résolu par
mo.owner.map sur le listener, et un message non
mappé ne va nulle part plutôt que vers une supposition. Voir
Paramètres du listener.