Ordering-Service verwalten

Dieses Thema enthält Informationen dazu, wie Gründer und Teilnehmer den Bestellservice verwalten.

Neben dem in diesem Thema behandelten Inhalt können auf der Seite Kanäle der Konsole mehrere kanalspezifische Aufgaben für die Bestellerknoten ausgeführt werden. Informationen hierzu finden Sie unter:

Was ist der Ordering Service?

Oracle Blockchain Platform unterstützt Raft als Konsensart.

Weitere Informationen zur Implementierung des Raft-Protokolls in Hyperledger Fabric finden Sie unter The Ordering Service - Raft.

Mit dem älteren Kafka-Konsensustyp kann das gesamte Netzwerk maximal zwei Orderer-Knoten haben, und sie müssen alle Kanäle verbinden. In einigen Fällen können sie überlastet sein und nicht skaliert werden. Mit dem Raft-Konsensus-Typ kann das Netzwerk eine beliebige Anzahl von Orderer-Knoten haben, und jeder Kanal kann ein eigenes Orderer-Knotenset definieren. Verschiedene Kanäle können verschiedene Orderer-Knoten verwenden, und Orderer-Knoten sind nicht mehr der Engpass.

Der Raft-Konsenstyp kann jedoch kompliziert zu konfigurieren sein. Es gibt Regeln darüber, was getan werden kann oder was nicht, und wenn diese Regeln nicht dem Kanal folgen und sogar das Netzwerk nicht funktioniert. Die folgenden Richtlinien sollten die auftretenden Probleme reduzieren:

Die Mehrheit der Ordering Service Nodes (OSN) ist aktiv

Der Raft-Konsensalgorithmus erfordert, dass die Mehrheit der Ordering-Service-Knoten (OSNs) funktioniert; andernfalls kann kein Konsens erzielt werden. Mehrheit bedeutet mehr als 50%. Beispielsweise müssen für fünf OSNs mindestens drei OSNs in Betrieb sein; für sechs OSNs müssen mindestens vier OSNs in Betrieb sein.
  • Wenn 50% oder weniger OSNs im Netzwerk arbeiten, ist die Netzwerkverwaltung nicht mehr funktionsfähig. Es können keine neuen Kanäle erstellt, keine neuen Orderer-Knoten zum Netzwerk hinzugefügt, kein Orderer kann aus dem Netzwerk entfernt werden usw.
  • Wenn im Anwendungskanal 50% oder weniger OSNs arbeiten, kann keine Transaktion an diesen Anwendungskanal weitergeleitet werden. Abfragen funktionieren möglicherweise weiterhin ordnungsgemäß, jedoch können administrative Vorgänge wie das Hinzufügen einer neuen Organisation, das Ändern der Access Control-Liste oder das Instanziieren oder Bereitstellen von Chaincodes nicht erfolgreich sein.

Seien Sie vorsichtig, wenn Sie dem Netzwerk oder einem Anwendungskanal ein neues OSN hinzufügen. Stellen Sie sicher, dass der Eigentümer vertrauenswürdig und der OSN robust ist.

Stellen Sie beim Entfernen von OSNs oder einer Organisation sicher, dass mehr als 50% der OSNs weiterhin funktionieren. Wenn Sie beispielsweise 2 Organisationen mit je 3 OSNs hatten, wenn Sie eine Organisation entfernt haben, würde sie während der Entfernung als nur 50% der OSNs interpretiert werden, die funktionsfähig sind. Fügen Sie der verbleibenden Organisation einen OSN hinzu, bevor Sie die externe Organisation löschen, um sicherzustellen, dass immer mehr als 50% der OSNs arbeiten.

Orderer nicht häufig hinzufügen oder entfernen

Jedes Mal, wenn ein neuer OSN zu einem Netzwerk oder Kanal hinzugefügt wird oder ein vorhandener OSN aus einem Kanal entfernt wird, wird der aktuelle Raft OSN-Cluster kurzzeitig instabil. Während dieser Periode können keine Transaktionen verarbeitet werden, und eine Fehlermeldung wie die Folgende kann auf einen solchen Status hinweisen:
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Dieser Vorgang kann einige Minuten dauern. Wenn Sie den vorherigen Raft Leader OSN aus dem Kanal entfernt haben, kann dies bis zu 20 Minuten dauern.

Stellen Sie sicher, dass Sie Orderer nicht häufig hinzufügen oder entfernen. Wenn mehrere Anforderungen hinzugefügt oder entfernt werden müssen, führen Sie einen Vorgang nach dem anderen aus, um sicherzustellen, dass das Netzwerk wieder in den Betriebsstatus zurückversetzt ist, bevor Sie die nächste Änderung vornehmen.

Stellen Sie sicher, dass der neue Besteller so bald wie möglich gestartet wird

Beim Hinzufügen eines neuen Bestellers in das Netzwerk werden in der Regel zwei Organisationen beteiligt sein: der Gründer und der Eigentümer des neuen Bestellers. Beide Parteien müssen die Anweisungen unter Teilnehmer beitreten oder OSNs mit Skalierung bis zum Bestellen des Gründers bis zum Abschluss befolgen, da der Gründer das Netzwerk nicht verwalten kann.

Nehmen Sie an den teilnehmenden oder skalierten OSNs beim Ordering Service des Gründers teil

Wenn Sie eine Teilnehmerinstanz bereitstellen, wird sie mit 3 Bestellern erstellt. Dort sind Orderer inaktiv, bis sie mit einem Netzwerk verbunden sind. Wenn Sie einen Gründer skalieren, sind die neuen Orderer ebenfalls inaktiv, bis sie mit einem Netzwerk verbunden sind.

Wenn mehrere Anforderungen hinzugefügt oder entfernt werden müssen, führen Sie einen Vorgang nach dem anderen aus, um sicherzustellen, dass das Netzwerk wieder in den Betriebsstatus zurückversetzt ist, bevor Sie die nächste Änderung vornehmen. Weitere wichtige Details zum Hinzufügen, Entfernen, Starten und Stoppen von Raft-Bestellern finden Sie unter Was ist der Bestellservice?.

OSN-Einstellungen aus Teilnehmer- oder Scale-Out-Bestellern exportieren

Um dem Teilnehmer oder skalierten Bestellern in ein Netzwerk beizutreten, müssen Sie ihre Einstellungen exportieren und in den Gründer importieren.

  1. Suchen Sie in der Teilnehmerkonsole (oder der Gründerkonsole für horizontal skalierte Orderer) auf der Registerkarte Knoten den Orderer-Knoten (oder den ersten Orderer-Knoten, wenn mehrere Knoten vorhanden sind). Wählen Sie das Aktionsmenü für diesen Knoten und dann OSN-Einstellungen exportieren.

    Dadurch wird eine JSON-Datei mit den Einstellungen generiert und die Datei gespeichert. Die Datei enthält das Zertifikat der Organisation und die vom privaten Schlüssel des Administrators der Teilnehmerorganisation signierten Einstellungen für den ausgewählten Orderer Service Node (OSN). Diese Datei muss an den Administrator der Gründerinstanz gesendet werden.

    Für Anwendungen, die auf Kanälen mit diesem OSN ausgeführt werden, ist dieses exportierte TLS-Zertifikat ebenfalls erforderlich. Siehe Bevor Sie eine Anwendung entwickeln.

  2. Öffnen Sie in der Gründerkonsole die Registerkarte Network (Netzwerk). Klicken Sie auf OSN hinzufügen. Ein Fenster wird geöffnet, in dem Sie nach dem Speicherort der vom Teilnehmer angegebenen JSON-Datei gefragt werden. Wählen Sie diese Option aus, um die Datei hochzuladen, und klicken Sie auf Hinzufügen.

    Die Teilnehmerorganisation oder der neu skalierte Auftragnehmer wird dem Abschnitt "Bestellerorganisation" der Systemkanalliste hinzugefügt.

Konfigurationseinstellungen des Gründers exportieren

Nachdem der Teilnehmer oder die skalierten Orderer dem Gründer hinzugefügt wurden, müssen Sie die Einstellungen des Gründers exportieren und in den Teilnehmer oder den skalierten Orderer importieren.

  1. Öffnen Sie in der Gründerkonsole die Registerkarte Network (Netzwerk). Klicken Sie auf Netzwerkkonfigurationsblock exportieren.

    Der Netzwerkkonfigurationsblock enthält den neuesten Systemkanalkonfigurationsblock. Diese kann gespeichert und an den Teilnehmeradministrator gesendet werden.

  2. Suchen Sie in der Teilnehmerkonsole (oder der Gründerkonsole für horizontal skalierte Orderer) auf der Registerkarte Knoten den Orderer-Knoten (oder den ersten Orderer-Knoten, wenn mehrere Knoten vorhanden sind). Wählen Sie das Menü "Aktion" für diesen Knoten, und wählen Sie Netzwerkkonfigurationsblock importieren aus.

    Sie werden zur Eingabe der Datei aufgefordert, die vom Administrator der Gründerinstanz gesendet wurde.

  3. Aktualisieren Sie in der Teilnehmerkonsole die Registerkarte Knoten. Der Status des Orderer-Knotens muss als "down" aufgeführt werden. Wählen Sie im Aktionsmenü die Option Start aus.

    Jeder gestartete Orderer-Knoten wird dem Raft-Cluster im Gründer hinzugefügt.

Jedes Mal, wenn ein neuer OSN durch Skalieren des Bestellers hinzugefügt wird (wie unter Instanz skalieren beschrieben), müssen diese Schritte wiederholt werden, um den neuen OSN zum Raft-Cluster hinzuzufügen.

Hinweis:

Sie können einem Netzwerk nicht mehrere OSNs in einem Batch hinzufügen. Stellen Sie sicher, dass jeweils nur 1 OSN hinzugefügt wird.

Bestellserviceeinstellungen für das Netzwerk bearbeiten

Sie können die Ordering-Service-Einstellungen für die Gründerinstanz aktualisieren.

Beachten Sie die folgenden wichtigen Informationen zum Bearbeiten der Bestellserviceeinstellungen:
  • Die aktualisierten Einstellungen werden beim Erstellen neuer Kanäle verwendet und nicht auf vorhandene Kanäle angewendet.
  • Sie können die Ordering-Service-Einstellungen für einzelne vorhandene Kanäle separat aktualisieren, wie unter Ordering-Service-Einstellungen für einen Kanal bearbeiten beschrieben.
  • Wenn Sie die Bestellserviceeinstellungen ändern und Anwendungen im Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Bestellserviceeinstellungen zu verwenden.
  • Es ist nicht üblich, aber in einigen Situationen können Sie einigen der Netzwerkteilnehmern einen anderen Bestellservice anbieten. In diesem Fall exportieren Sie den aktualisierten Netzwerkkonfigurationsblock, und die erforderlichen Teilnehmer importieren die überarbeiteten Einstellungen. Weitere Informationen finden Sie unter Teilnehmer beitreten oder OSNs mit skaliertem Out für den Ordering-Service des Gründers.
Sie müssen Administrator sein, um diese Aufgabe auszuführen.
  1. Gehen Sie zur Gründerkonsole, und wählen Sie die Registerkarte Netzwerk aus.
  2. Klicken Sie auf die Schaltfläche Serviceeinstellungen für Bestellungen.
    Das Dialogfeld Serviceeinstellungen für Bestellungen wird angezeigt.
  3. Aktualisieren Sie die Einstellungen nach Bedarf.
    Feld Beschreibung
    Batchtimeout (ms) Geben Sie die Zeit in Millisekunden an, die das System warten soll, bevor ein Batch erstellt wird. Geben Sie eine Zahl zwischen 1 und 3600000 ein.
    Maximale Nachrichtenanzahl Geben Sie die maximale Anzahl der Nachrichten an, die in einen Batch aufgenommen werden sollen. Geben Sie eine Zahl zwischen 1 und 4294967295 ein.
    Absolute Nachrichtenbyte Geben Sie die maximale Byteanzahl an, die für die serialisierten Nachrichten in einem Batch zulässig ist.

    Diese Zahl muss größer sein als der Wert, den Sie in das Feld "Bevorzugte Nachrichtenbyte" eingeben.

    Bevorzugte Nachrichtenbyte Geben Sie die bevorzugte Byteanzahl an, die für die serialisierten Nachrichten in einem Batch zulässig ist. Eine Nachricht, die größer als diese Größe ist, führt zu einem größeren Batch, aber die Batchgröße ist gleich oder kleiner als die Anzahl der Byte, die Sie im Feld "Absolute Message Bytes" angegeben haben.

    Oracle empfiehlt, diesen Wert auf maximal 1 MB zu setzen.

    Der Wert, den Sie in dieses Feld eingeben, muss kleiner sein als der Wert, den Sie in das Feld "Absolute Nachrichtenbyte" eingeben.

    Snapshot-Intervallgröße Definiert die MB, pro der ein Snapshot erstellt wird.
  4. Klicken Sie auf Aktualisieren.
    Die aktualisierten Einstellungen werden gespeichert.

Einstellungen für Bestellservice anzeigen

Sie können die Bestellserviceeinstellungen des Gründers anzeigen, die in die Oracle Blockchain Platform-Instanz eines Teilnehmers importiert wurden.

Wenn der Gründer die Einstellungen für den Ordering-Service ändert, müssen die neuen Einstellungen an den Teilnehmer portiert werden, wie unter Teilnehmer beitreten oder OSNs mit skaliertem Out für den Ordering-Service des Gründers beschrieben. Wenn Anwendungen im Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Anforderungsserviceeinstellungen zu verwenden.
  1. Gehen Sie zur Teilnehmerkonsole, und wählen Sie die Registerkarte Netzwerk aus.
  2. Klicken Sie auf Serviceeinstellungen für Bestellungen und dann auf Anzeigen.
    Das Dialogfeld "Anforderungseinstellungen" wird angezeigt.