Gestisci servizio di ordine

Questo argomento contiene informazioni sul modo in cui i fondatori e i partecipanti gestiscono il servizio di ordinazione.

Oltre al contenuto trattato in questo argomento, è possibile eseguire diversi task specifici del canale per i nodi del programma di ordinazione nella pagina Canali della console. Fare riferimento a quanto riportato di seguito.

Che cos'è il servizio di ordinazione?

Oracle Blockchain Platform supporta Raft come tipo di consenso.

Per ulteriori informazioni sull'implementazione di Hyperledger Fabric del protocollo Raft, vedere The Ordering Service - Raft.

Con il vecchio tipo di consenso Kafka, l'intera rete può avere al massimo due nodi di ordinazione e devono unirsi a tutti i canali. In alcuni casi, possono essere sovraccaricati e non possono essere ridimensionati. Con il tipo di consenso Raft, la rete può avere un numero arbitrario di nodi Orderer e ogni canale può definire il proprio set di nodi Orderer. Canali diversi possono utilizzare nodi del committente diversi e i nodi del committente non saranno più il collo di bottiglia.

Tuttavia, il tipo di consenso Raft può essere complicato da configurare correttamente. Ci sono regole su cosa può o non può essere fatto, e se queste regole non sono seguite il canale e anche la rete potrebbe non funzionare. Le linee guida riportate di seguito consentono di ridurre il numero di problemi riscontrati.

Mantieni attiva la maggior parte dei nodi del servizio di ordinazione (OSN)

L'algoritmo di consenso di Raft richiede che la maggior parte dei nodi di servizio di ordinazione (OSN) funzionino; altrimenti non può essere fatto alcun consenso. Maggioranza significa maggiore del 50%. Ad esempio, per cinque OSN devono essere presenti almeno tre OSN funzionanti; per sei OSN devono essere presenti almeno quattro OSN funzionanti.
  • Se ci sono almeno il 50% di OSN che lavorano nella rete, la gestione della rete non sarà più funzionale. Non è possibile creare canali, non è possibile aggiungere nuovi nodi Orderer alla rete, non è possibile rimuovere alcun Orderer dalla rete e così via.
  • Se ci sono almeno il 50% di OSN che lavorano nel canale dell'applicazione, nessuna transazione può essere inviata a questo canale dell'applicazione. Le query possono comunque funzionare correttamente, tuttavia le operazioni amministrative come l'aggiunta di una nuova organizzazione, la modifica della lista di controllo dell'accesso o la distribuzione dei codici concatenati non riusciranno.

Prestare attenzione quando si aggiunge un nuovo OSN alla rete o a un canale di applicazione. Assicurati che il proprietario sia affidabile e che l'OSN sia robusto.

Quando si rimuovono le OSN o un'organizzazione, assicurarsi che oltre il 50% delle OSN rimanga funzionante. Ad esempio, se si disponeva di due organizzazioni con tre OSN ciascuna, se si rimuoveva una organizzazione, durante la rimozione verrebbe interpretato come funzionale solo il 50% delle OSN. Aggiungere un OSN all'organizzazione rimanente prima di eliminare l'organizzazione estranea per garantire che si superi sempre il 50% delle OSN che funzionano.

Non aggiungere o rimuovere ordini frequentemente

Ogni volta che un nuovo OSN viene aggiunto a una rete o a un canale oppure un OSN esistente viene rimosso da un canale, il cluster corrente di Raft OSN diventerà brevemente instabile. Durante questo periodo, non è possibile gestire transazioni e un messaggio di errore simile al seguente può indicare tale stato:
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Potrebbe durare alcuni minuti. Se hai rimosso il precedente Raft leader OSN dal canale, questo potrebbe durare fino a 20 minuti.

Assicurati di non aggiungere o rimuovere spesso gli ordini. Se è necessario aggiungere o rimuovere più ordini, eseguirne uno alla volta e assicurarsi che la rete sia tornata allo stato operativo prima di apportare la modifica successiva.

Assicurarsi che il nuovo ordinatore venga avviato il prima possibile

Quando si aggiunge un nuovo committente alla rete, di solito saranno coinvolte due organizzazioni: il fondatore e il proprietario del nuovo committente. Entrambe le parti devono seguire le istruzioni riportate in Iscriviti agli OSN partecipanti o scalati al servizio di ordinazione del fondatore fino al completamento o il fondatore non sarà in grado di gestire la rete.

Unisciti ai partecipanti o agli OSN a scalabilità orizzontale al servizio di ordinazione del fondatore

Quando si esegue il provisioning di un'istanza partecipante, questa viene creata con 3 ordini. Gli ordinatori non sono attivi finché non vengono collegati a una rete. Quando si esegue lo scale-out di un fondatore, anche i nuovi ordinatori sono inattivi fino a quando non vengono uniti a una rete.

Per aggiungere o rimuovere più ordinatori, aggiungerne o rimuoverne uno alla volta e assicurarsi che la rete sia tornata allo stato operativo prima di apportare la modifica successiva. Per ulteriori informazioni importanti sull'aggiunta, la rimozione, l'avvio e l'arresto degli ordini Raft, vedere Che cos'è il servizio di ordinazione?.

Esportare le impostazioni OSN dal partecipante o dagli ordini con scale out

Per unirsi al partecipante o scalare gli ordini in una rete, esportare le loro impostazioni e importarle nel fondatore.

  1. Nella console del partecipante (o nella console del fondatore per gli ordini con scale-out), nella scheda Nodo trovare il nodo ordinante (o il primo nodo ordinante se esistono più nodi). Selezionare il menu Azione per questo nodo e Esporta impostazioni OSN.

    Questo genera un file JSON con le impostazioni e salva il file. Il file contiene il certificato dell'organizzazione e le impostazioni del nodo del servizio di ordinazione (OSN) selezionate firmate dalla chiave privata dell'amministratore dell'organizzazione partecipante. Invia questo file all'amministratore dell'istanza del fondatore.

    Anche le applicazioni eseguite sui canali che utilizzano questo OSN richiedono il certificato TLS esportato.

  2. Nella console del fondatore, aprire la scheda Network. Fare clic su Aggiungi OSN. Viene visualizzata una finestra che richiede la posizione del file JSON fornito dal partecipante. Selezionare questa opzione per caricare il file e fare clic su Aggiungi.

    L'organizzazione partecipante o il nuovo ordinante con scalabilità orizzontale viene aggiunto alla sezione dell'organizzazione ordinante dell'elenco canali di sistema.

Esporta le impostazioni di configurazione del fondatore

Dopo che il partecipante o gli ordini scalati sono stati aggiunti al fondatore, è necessario esportare le impostazioni del fondatore e importarle nel partecipante o nell'ordinatore scalato.

  1. Nella console del fondatore, aprire la scheda Network. Fare clic su Esporta blocco configurazione di rete.

    Il blocco di configurazione della rete contiene il blocco di configurazione più recente del canale di sistema. Questa operazione può essere salvata e inviata all'amministratore dei partecipanti.

  2. Nella console del partecipante (o nella console del fondatore per gli ordini con scale-out), nella scheda Nodo trovare il nodo ordinante (o il primo nodo ordinante se esistono più nodi). Selezionare il menu Azione per questo nodo e selezionare Importa blocco configurazione rete.

    Viene richiesto il file inviato dall'amministratore dell'istanza fondatore.

  3. Nella console dei partecipanti aggiornare la scheda Nodo. Lo stato del nodo ordinante verrà elencato come giù. Dal menu Azione, selezionare Avvia.

    Ogni nodo ordinante avviato verrà aggiunto al cluster Raft nel fondatore.

Ogni volta che viene aggiunto un nuovo OSN eseguendo lo scale-out dell'ordinatore (come descritto in Ridimensiona l'istanza), è necessario ripetere questi passi per aggiungere il nuovo OSN al cluster Raft.

Nota

Impossibile aggiungere più OSN a una rete in un singolo batch. Assicurarsi che venga aggiunto un solo OSN alla volta.

Modifica impostazioni servizio di ordinazione per la rete

È possibile aggiornare le impostazioni del servizio di ordinazione per l'istanza fondatore.

  • Le impostazioni aggiornate vengono utilizzate quando si creano canali e non vengono applicate ai canali esistenti.
  • È possibile aggiornare le impostazioni del servizio di ordinazione per un singolo canale esistente come descritto in Modifica impostazioni del servizio di ordinazione per un canale.
  • Se si modificano le impostazioni del servizio di gestione ordini e sono presenti applicazioni in esecuzione sulla rete, è necessario aggiornare manualmente tali applicazioni per utilizzare le impostazioni del servizio di gestione ordini modificate.
  • Non è comune, ma in alcune situazioni, potresti esporre un servizio di ordinazione diverso ad alcuni dei partecipanti alla rete. In questo caso, esporterai il blocco di configurazione di rete aggiornato e i partecipanti richiesti importeranno le impostazioni riviste. Vedere Join the Participant or Scaled-Out OSNs to the Founder's Ordering Service.
Per completare questo task è necessario essere un amministratore.
  1. Andare alla console del fondatore e fare clic sulla scheda Rete.
  2. Fare clic sul pulsante Impostazioni servizio di ordinazione.
    Viene visualizzata la finestra di dialogo Impostazioni servizio di ordinazione.
  3. Aggiornare le impostazioni in base alle esigenze.
    Campo Descrizione
    Timeout batch (ms) Specificare la quantità di tempo in millisecondi che il sistema dovrà attendere prima di creare un batch. Immettere un numero compreso tra 1 e 3600000.
    Conteggio massimo messaggi Specificare il numero massimo di messaggi da includere in un batch. Immettere un numero compreso tra 1 e 4294967295.
    Byte di messaggio assoluti Specificare il numero massimo di byte consentiti per i messaggi serializzati in un batch.

    Questo numero deve essere maggiore del valore immesso nel campo Byte messaggi preferiti.

    Byte di messaggio preferiti Specificare il numero preferito di byte consentiti per i messaggi serializzati in un batch. Un messaggio di dimensioni superiori a tali dimensioni genera un batch più grande, ma la dimensione del batch sarà uguale o inferiore al numero di byte specificato nel campo Byte messaggi assoluti.

    In genere questo valore viene impostato su un valore minore o uguale a 1 MB.

    Il valore immesso in questo campo deve essere inferiore al valore immesso nel campo Byte di messaggio assoluti.

    Dimensione intervallo snapshot Definisce il numero di MB per il quale viene eseguito uno snapshot.
  4. Fare clic su Aggiorna.
    Le impostazioni aggiornate vengono salvate.

Visualizza impostazioni servizio ordinamento

È possibile visualizzare le impostazioni del servizio di ordinazione del fondatore importate nell'istanza di Oracle Blockchain Platform di un partecipante.

Se il fondatore modifica le impostazioni del servizio di ordinazione, le nuove impostazioni devono essere trasferite al partecipante come descritto in Iscriviti al servizio di ordinazione del fondatore (Join the Participant or Scaled-Out OSNs). Se sono presenti applicazioni in esecuzione sulla rete, è necessario aggiornare manualmente tali applicazioni per utilizzare le impostazioni riviste del servizio di gestione ordini.
  1. Andare alla console del partecipante e selezionare la scheda Rete.
  2. Fare clic su Impostazioni servizio di ordinazione e fare clic su Visualizza.
    Viene visualizzata la finestra di dialogo Impostazioni ordinamento.