Gestisci servizio di ordinazione

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, nella pagina Canali della console è possibile eseguire diversi task specifici del canale per i nodi dell'ordinatore. 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 scalati. 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 di ordini diversi e i nodi di ordini 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.

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

L'algoritmo di consenso Raft richiede che la maggior parte dei nodi del servizio di ordinazione (OSN) funzioni; altrimenti non è possibile ottenere alcun consenso. Maggioranza significa superiore al 50%. Ad esempio, per cinque OSN, devono funzionare almeno tre OSN; per sei OSN, devono funzionare almeno quattro OSN.
  • 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 applicativo. Assicurarsi che il proprietario sia affidabile e che l'OSN sia affidabile.

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 ordinatori di frequente

Ogni volta che viene aggiunto un nuovo OSN in una rete o in un canale o che un OSN esistente viene rimosso da un canale, il cluster OSN Raft corrente diventerà brevemente instabile. Durante questo periodo, nessuna transazione può essere gestita 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 ordinante venga avviato non appena 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 alle OSN partecipanti o ridimensionate 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 dai partecipanti 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 partecipante (o nella console del fondatore per gli ordini con scale out), nella scheda Nodo individuare il nodo dell'ordinatore (o il primo nodo dell'ordinatore se esistono più nodi). Selezionare il menu Azione per questo nodo e selezionare 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 di rete contiene il blocco di configurazione del canale di sistema più recente. Questa operazione può essere salvata e inviata all'amministratore del partecipante.

  2. Nella console partecipante (o nella console del fondatore per gli ordini con scale out), nella scheda Nodo individuare il nodo dell'ordinatore (o il primo nodo dell'ordinatore se esistono più nodi). Selezionare il menu Azione per questo nodo e selezionare Importa blocco configurazione di 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.

Modificare le impostazioni del 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 assoluti dei messaggi 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 messaggio preferiti.

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

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

    Il valore immesso in questo campo deve essere minore del valore immesso nel campo Byte messaggio assoluti.

    Dimensione intervallo snapshot Definisce il numero di MB per i quali viene eseguita una snapshot.
  4. Fare clic su Aggiorna.
    Le impostazioni aggiornate vengono salvate.

Visualizza impostazioni servizio di ordinazione

È 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 Ordering Settings.