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, è 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 si può o non si può fare, e se queste regole non sono seguite il canale e anche la rete potrebbe non funzionare. Le seguenti linee guida dovrebbero ridurre i 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 nella rete sono presenti almeno il 50% di OSN, la gestione della rete non sarà più funzionale. Non è possibile creare nuovi canali, non è possibile aggiungere nuovi nodi Orderer nella rete, non è possibile rimuovere alcun Orderer dalla rete e così via.
  • Se nel canale dell'applicazione sono presenti almeno il 50% di OSN, non è possibile inviare alcuna transazione a questo canale dell'applicazione. Le query potrebbero comunque funzionare correttamente, tuttavia le operazioni amministrative come l'aggiunta di una nuova organizzazione, la modifica della lista di controllo dell'accesso o la creazione di istanze 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 OSN o un'organizzazione, assicurarsi che oltre il 50% degli OSN rimanga funzionante. Ad esempio, se si disponeva di 2 organizzazioni con 3 OSN ciascuna, se si rimuoveva un'organizzazione, durante la rimozione verrebbe interpretato come solo il 50% delle OSN funzionanti. Aggiungere un OSN all'organizzazione rimanente prima di eliminare l'organizzazione estranea per assicurarsi di superare sempre il 50% delle OSN funzionanti.

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

Questo può durare alcuni minuti. Se hai rimosso il precedente leader di Raft OSN dal canale, questo può durare fino a 20 minuti.

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

Assicurati che il nuovo ordinatore sia avviato il prima possibile

Quando si aggiunge un nuovo ordinatore in rete, di solito saranno coinvolte due organizzazioni: il fondatore e il proprietario del nuovo ordinatore. Entrambe le parti devono seguire le istruzioni contenute in Unisciti al partecipante o agli OSN a scalabilità orizzontale 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, viene creata con 3 ordini. Gli ordini sono inattivi fino a quando non vengono uniti a una rete. Quando si esegue lo scale-out di un fondatore, i nuovi ordini sono anche inattivi fino a quando non vengono uniti a una rete.

Se è necessario aggiungere o rimuovere più ordini, eseguirne uno alla volta per assicurarsi che la rete sia tornata allo stato operativo prima di apportare la modifica successiva. Per ulteriori dettagli 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 entrare a far parte del partecipante o degli ordini scale-out in una rete, è necessario 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 Azioni per questo nodo e selezionare Esporta impostazioni OSN.

    Questo genererà un file JSON con le impostazioni e salverà il file. Il file contiene il certificato dell'organizzazione e le impostazioni del nodo del servizio Orderer selezionato (OSN) firmate dalla chiave privata dell'amministratore dell'organizzazione partecipante. Questo file deve essere inviato all'amministratore dell'istanza fondatore.

    Le applicazioni in esecuzione sui canali che utilizzano questa OSN richiedono anche questo certificato TLS esportato. Vedere Before You Develop an Application.

  2. Nella console del fondatore, aprire la scheda Network. Fare clic su Aggiungi OSN. Viene visualizzata una finestra in cui viene richiesto di specificare la posizione del file JSON fornito dal partecipante. Selezionare per caricare il file e fare clic su Aggiungi.

    L'organizzazione partecipante o il nuovo ordinatore scalato verrà aggiunto alla sezione dell'organizzazione ordinatore dell'elenco canali di sistema.

Esporta le impostazioni di configurazione del fondatore

Una volta che il partecipante o gli ordini scale-out sono stati aggiunti al fondatore, è necessario esportare le impostazioni del fondatore e importarle nel partecipante o nell'ordinatore scale-out.

  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.

    Verrà richiesto il file inviato dall'amministratore dell'istanza fondatore.

  3. Nella console dei partecipanti, aggiornare la scheda Nodo. Lo stato del nodo del committente deve essere elencato come "giù". Dal menu Azione selezionare Start.

    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 in una rete in un singolo batch. Assicurarsi che venga aggiunto solo 1 OSN alla volta.

Modifica impostazioni servizio di ordinazione per la rete

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

Tenere presenti le informazioni importanti riportate di seguito sulla modifica delle impostazioni del servizio di ordinazione.
  • Le impostazioni aggiornate vengono utilizzate quando si creano nuovi canali e non vengono applicate ai canali esistenti.
  • Separatamente, è possibile aggiornare le impostazioni del servizio di ordinazione per singoli canali esistenti come descritto in Modifica impostazioni del servizio di ordinazione per un canale.
  • Se si modificano le impostazioni del servizio di ordinazione e sono presenti applicazioni in esecuzione sulla rete, è necessario aggiornare manualmente tali applicazioni per utilizzare le impostazioni modificate del servizio di ordinazione.
  • Non è comune, ma in alcune situazioni, potresti esporre un servizio di ordinazione diverso ad alcuni dei partecipanti alla rete. In questo caso, si esporta il blocco di configurazione di rete aggiornato e i partecipanti richiesti importeranno le impostazioni riviste. Vedere Partecipa al servizio di ordinazione del fondatore o alle OSN a scalabilità orizzontale.
Per eseguire questo task è necessario essere un amministratore.
  1. Accedi alla console del fondatore e seleziona la scheda Network.
  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 il periodo di tempo in millisecondi che il sistema deve 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.

    Oracle consiglia di impostare questo valore su un massimo di 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 Unisciti al partecipante o agli OSN a scalabilità orizzontale al servizio di ordinazione del fondatore. Se sono presenti applicazioni in esecuzione sulla rete, è necessario aggiornarle manualmente per utilizzare le impostazioni modificate del servizio di ordinazione.
  1. Andare alla console del partecipante e selezionare la scheda Rete.
  2. Fare clic su Impostazioni del servizio di ordinazione e fare clic su Visualizza.
    Viene visualizzata la finestra di dialogo Impostazioni ordinamento.