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 Auftragsknoten ausgeführt werden. Informationen hierzu finden Sie unter:

Was ist der Ordering-Service?

Oracle Blockchain Platform unterstützt Raft als Konsensart.

Weitere Informationen zur Hyperledger Fabric-Implementierung des Raft-Protokolls finden Sie unter: Bestellservice - Raft.

Mit dem älteren Kafka-Konsenstyp kann das gesamte Netzwerk maximal zwei Orderer-Knoten haben, und sie müssen allen Kanälen beitreten. In einigen Fällen können sie überlastet und nicht skaliert werden. Mit dem Raft-Konsenstyp kann das Netzwerk eine beliebige Anzahl von Orderer-Knoten haben, und jeder Kanal kann sein 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 konfiguriert werden. Es gibt Regeln darüber, was getan werden kann oder nicht, und wenn diese Regeln nicht dem Kanal folgen und sogar das Netzwerk möglicherweise nicht funktioniert. Die folgenden Richtlinien sollten die auftretenden Probleme reduzieren:

Die Mehrheit der Ordering-Service-Knoten (OSN) am Leben erhalten

Der Raft-Konsensalgorithmus erfordert, dass die meisten Ordering-Service-Knoten (OSNs) funktionieren. Andernfalls kann kein Konsens erzielt werden. Mehrheit bedeutet mehr als 50%. Beispielsweise müssen für fünf OSNs mindestens drei OSNs arbeiten; für sechs OSNs müssen mindestens vier OSNs arbeiten.
  • Wenn 50% oder weniger OSNs im Netzwerk arbeiten, ist die Netzwerkverwaltung nicht mehr funktionsfähig. Es können keine neuen Kanäle erstellt werden, es können keine neuen Orderer-Knoten zum Netzwerk hinzugefügt werden, 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äß. Verwaltungsvorgänge wie das Hinzufügen einer neuen Organisation, das Ändern der Access-Control-Liste oder das Instanziieren oder Bereitstellen von Chaincodes sind jedoch nicht erfolgreich.

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

Stellen Sie beim Entfernen von OSNs oder einer Organisation sicher, dass mehr als 50% der OSNs weiterhin funktionieren. Beispiel: Wenn Sie 2 Organisationen mit jeweils 3 OSNs hatten, wenn Sie eine Organisation entfernt haben, würde dies beim Entfernen als nur 50% der OSNs interpretiert, die funktionsfähig sind. Fügen Sie der verbleibenden Organisation ein OSN hinzu, bevor Sie die irrelevante Organisation löschen, um sicherzustellen, dass immer mehr als 50% der OSNs funktionieren.

Auftragnehmer nicht häufig hinzufügen oder entfernen

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

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

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

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

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

Nehmen Sie an den teilnehmenden oder skalierten OSNs am Bestellservice des Gründers teil

Wenn Sie eine Teilnehmerinstanz bereitstellen, wird sie mit 3 Auftragnehmern erstellt. Auftragnehmer sind inaktiv, bis sie mit einem Netzwerk verbunden sind. Wenn Sie einen Gründer horizontal skalieren, sind die neuen Auftragnehmer auch inaktiv, bis sie mit einem Netzwerk verbunden sind.

Wenn mehrere Auftragnehmer hinzugefügt oder entfernt werden müssen, führen Sie nacheinander einen Vorgang aus, um sicherzustellen, dass das Netzwerk in den Betriebsstatus zurückversetzt wurde, 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 Teilnehmenden oder horizontal skalierten Auftragnehmern exportieren

Um den Teilnehmern oder skalierten Auftragnehmern 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 Menü "Aktion" 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 ausgewählten OSN-Einstellungen (Orderer Service Node), die vom Private Key des Administrators der Teilnehmerorganisation signiert wurden. Diese Datei muss an den Administrator der Gründerinstanz gesendet werden.

    Anwendungen, die auf Kanälen mit diesem OSN ausgeführt werden, erfordern auch dieses exportierte TLS-Zertifikat. Siehe Vor dem Entwickeln einer Anwendung.

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

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

Konfigurationseinstellungen des Gründers exportieren

Sobald 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 Netzwerk. Klicken Sie auf Netzwerkkonfigurationsblock exportieren.

    Der Netzwerkkonfigurationsblock enthält den neuesten Systemkanalkonfigurationsblock. Dies 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 dann Netzwerkkonfigurationsblock importieren.

    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 Auftragsknotens muss "Heruntergefahren" lauten. Wählen Sie im Menü "Aktion" die Option Start aus.

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

Jedes Mal, wenn ein neues OSN durch horizontales Skalieren des Orderers hinzugefügt wird (wie unter Instanz skalieren beschrieben), müssen diese Schritte wiederholt werden, um das neue OSN zum Raft-Cluster hinzuzufügen.

Hinweis:

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

Einstellungen für den Bestellservice für das Netzwerk bearbeiten

Sie können die Einstellungen für den Bestellservice für die Gründerinstanz aktualisieren.

Beachten Sie die folgenden wichtigen Informationen zum Bearbeiten der Einstellungen für den Bestellservice:
  • 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 Einstellungen für den Bestellservice ändern und Anwendungen im Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Einstellungen für den Bestellservice zu verwenden.
  • Es ist nicht üblich, aber in einigen Situationen können Sie einigen Netzwerkteilnehmern einen anderen Bestellservice zur Verfügung stellen. In diesem Fall exportieren Sie den aktualisierten Netzwerkkonfigurationsblock und die erforderlichen Teilnehmer importieren die überarbeiteten Einstellungen. Siehe Teilnehmer oder skalierte OSNs beim Bestellservice des Gründers beitreten.
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
    Batch-Timeout (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 von Nachrichten an, die in einen Batch aufgenommen werden sollen. Geben Sie eine Zahl zwischen 1 und 4294967295 ein.
    Absolute Nachrichtenbyte Geben Sie die maximale Anzahl von Byte an, die für die serialisierten Nachrichten in einem Batch zulässig sind.

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

    Bevorzugte Nachrichtenbyte Geben Sie die bevorzugte Anzahl von Byte an, die für die serialisierten Nachrichten in einem Batch zulässig sind. Eine Nachricht, die größer als diese Größe ist, führt zu einem größeren Batch. Die Batchgröße ist jedoch kleiner oder gleich der Anzahl der Byte, die Sie im Feld "Absolute Nachrichtenbyte" 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 Anzahl der MB, pro denen ein Snapshot erstellt wird.
  4. Klicken Sie auf Updaten.
    Die aktualisierten Einstellungen werden gespeichert.

Einstellungen für Bestellservice anzeigen

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

Wenn der Gründer die Einstellungen für den Bestellservice ändert, müssen die neuen Einstellungen an den Teilnehmer portiert werden, wie unter Teilnehmer oder skalierte OSNs beim Bestellservice des Gründers beitreten beschrieben. Wenn Anwendungen für das Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Einstellungen für den Bestellservice 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.