Os dois módulos
Componentes de tempo de execução
O pipeline
Protocolos de entrada criam uma mensagem interna única e a colocam em fila. Threads do roteador avaliam a tabela de roteamento e enfileiram em uma ou mais filas de workers. Threads de worker fazem a entrega específica do protocolo.Onde vive o estado
Duas dessas merecem ser conhecidas com precisão:
O receipt store é o único estado persistente fora do PostgreSQL. Ele lembra qual message id do
vendor pertence a qual submissão, e retém recibos para um cliente que se desconectou. Veja
as configurações do store.
O crédito reservado está em memória. O crédito é distribuído a um worker em blocos e gasto a partir
de um contador, portanto não há gravação no banco de dados no caminho da mensagem. Um desligamento limpo
retorna o que não foi gasto; um
kill -9 deixa esse crédito preso até que fireflo credit release
seja executado. balance + reserved é conservado em qualquer caso.
Ambas as direções
O FireFlo não é apenas um gateway de saída.
A propriedade de mensagens de entrada é resolvida por
mo.owner.map no listener, e uma mensagem sem
mapeamento vai para lugar nenhum em vez de para um palpite. Veja Configurações do Listener.