Informazioni richieste per gli agent ad alta disponibilità in Managed File Transfer

Esistono diversi tipi di informazioni che è necessario conoscere sugli agent MFT standard o bridge in esecuzione in una configurazione ad alta disponibilità. Queste informazioni includono i diversi metodi con cui viene avviato l'agent, come identificare l'istanza dell'agent nel file di log e le informazioni sullo stato per l'agent.

Avvio di un agent

Un'istanza di un agent è in esecuzione in una modalità non HA altrove

Se viene effettuato un tentativo di avviare un'altra istanza dell'agent non configurata come agent HA, viene prima eseguito un controllo per verificare se è possibile acquisire un blocco sulla coda SYSTEM.FTE.HA.agent name .

Poiché l'altra istanza è stata avviata in modalità non HA, il blocco sulla coda SYSTEM.FTE.HA.agent name verrà acquisito da questa istanza. L'agent continua l'inizializzazione, ma non riesce in un secondo momento perché la coda comandi viene aperta esclusivamente da un'altra istanza.

In questo caso, i messaggi mostrati nel seguente esempio vengono registrati nel file output0.log dell'agente e l'agente continua il tentativo di apertura della coda comandi ogni 30 secondi:
BFGMQ1045I: Coda di sistema dell'agent 'SYSTEM.FTE.COMMAND.SRC' è configurato come NOSHARE o 
DEFSOPT (CONDIVISO).

BFGAG0035W: L'agente ha ricevuto un codice di motivo 2042 d MQI e mentre tentava di aprire la coda 
" SYSTEM.FTE.COMMAND.SRC " sul gestore delle code "MFTHAQM" con nome di connessione "localhost(1414)" 
e canale 'MFT_HA_CHN'.  L'agent riproverà l'operazione ogni 30 secondi.

Un'istanza di un agent è in esecuzione in una modalità HA altrove

Se viene effettuato un tentativo di avviare un'altra istanza dell'agent non configurata come agent HA, viene prima eseguito un controllo per verificare se è possibile acquisire un blocco sulla coda SYSTEM.FTE.HA.agent name .

Poiché l'altra istanza è stata eseguita come istanza attiva, il tentativo di acquisire un blocco ha esito negativo. L'istanza non viene avviata e il seguente errore viene registrato nel file output0.log dell'agent:
BFGAG0194E: Un'istanza di questo agent è già in esecuzione altrove. 
Pertanto, questa istanza non può continuare e verrà terminata.

[ Windows]Avvio dell'agente come Windows servizio

Su Windows, è possibile avviare un agent come servizio Windows .

Durante l'avvio, Windows avvia l'agent MFT in modalità normale o HA. Se l'agent è configurato per essere eseguito in modalità HA, il servizio viene eseguito come un'istanza attiva o standby, a seconda di quale istanza acquisisce per prima il blocco.

Identificazione del tipo di istanza di un agente nel file di log

I messaggi informativi vengono scritti nel file output0.log dell'agente per indicare il tipo di istanza. Quando un'istanza agent viene avviata come istanza attiva, viene scritto il seguente messaggio:
BFGAG0192I: L'agente è stato inizializzato correttamente come istanza attiva.
Quando un'istanza dell'agent viene avviata come istanza standby, viene scritto il seguente messaggio:
BFGAG0193I: L'agent è stato inizializzato correttamente come un'istanza standby.

Aggiornamenti dello stato dell'agente

Poiché esistono due istanze dello stesso agent in esecuzione, è necessario disporre delle informazioni su entrambe le istanze nella pubblicazione dello stato dell'agent.

Notare che l'istanza attiva è quella che pubblica lo stato di entrambe le istanze.

Istanza standby

Durante la pubblicazione dello stato dell'agent, l'istanza attiva controlla la durata della pubblicazione dell'istanza in standby.

Esistono due proprietà aggiuntive nel file agent.properties per questo scopo:
  • standbyStatusExpiry è la scadenza per il messaggio di stato standby da inserire nella coda comandi dell'agent. Il messaggio scade se l'istanza attiva di un agente non elabora questo messaggio in quel periodo.

    Per impostazione predefinita, il valore di standbyStatusExipry è 30 secondi. Il messaggio è anche un messaggio a bassa priorità, 9, per consentire l'elaborazione di priorità delle richieste di trasferimento sui messaggi di stato standby.

  • standbyStatusPublishInterval imposta la frequenza con cui l'istanza in standby pubblica il relativo stato.

Istanza attiva
L'istanza attiva effettua le seguenti operazioni per elaborare gli aggiornamenti dello stato dall'istanza standby:
  1. Richiama il messaggio dalla coda SYSTEM.FTE.COMMAND.<agent name> e delega l'elaborazione del messaggio a un thread di lavoro.
  2. Il thread di lavoro richiama il contenuto dal corpo del messaggio, aggiorna l'oggetto di stato dell'agent con le informazioni sull'istanza in standby e notifica al publisher di stato dell'agent di pubblicare lo stato.
  3. Il publisher dello stato dell'agent pubblica lo stato.

    Notare che le ottimizzazioni vengono eseguite qui per memorizzare nella cache le informazioni sullo stato di standby. Quando viene effettuata una richiesta, il publisher dello stato dell'agent controlla il nuovo stato con lo stato memorizzato nella cache e pubblica solo se è presente una differenza.

Il diagramma seguente illustra il flusso seguito dalle istanze attive o in standby per pubblicare lo stato di un agente:Un diagramma del flusso di istanze attive o in standby segue per pubblicare lo stato di un agent