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-Konsensus-Typ kann jedoch schwierig zu konfigurieren sein. Es gibt Regeln darüber, was getan werden kann oder nicht, und wenn diese Regeln nicht dem Kanal gefolgt werden und sogar das Netzwerk funktioniert möglicherweise nicht. Die folgenden Richtlinien können die Anzahl der 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 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 immer noch korrekt, aber administrative Vorgänge wie das Hinzufügen einer neuen Organisation, das Ändern der Access-Control-Liste oder das Deployment von Chaincodes schlagen fehl.

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 funktionieren. Beispiel: Wenn Sie zwei Organisationen mit jeweils drei OSNs hätten, würden Sie beim Entfernen einer Organisation nur 50% der OSNs als funktionsfähig interpretieren. Fügen Sie der verbleibenden Organisation eine OSN hinzu, bevor Sie die externe Organisation löschen, um sicherzustellen, dass Sie immer mehr als 50% der OSNs verwenden.

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

Dies kann einige Minuten dauern. Wenn Sie die vorherige Raft Leader 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 Besteller hinzugefügt oder entfernt werden müssen, führen Sie jeweils einen Vorgang aus und stellen Sie sicher, dass das Netzwerk wieder den Betriebsstatus hat, 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 Auftraggebers in das Netzwerk werden in der Regel zwei Organisationen beteiligt sein: der Gründer und der Eigentümer des neuen Auftraggebers. Beide Parteien müssen die Anweisungen unter Teilnehmer- oder skalierte OSNs an den Ordering-Service des Gründers teilnehmen 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 Auftragnehmern erstellt. Die Besteller sind inaktiv, bis sie mit einem Netzwerk verbunden sind. Wenn Sie einen Gründer horizontal skalieren, sind die neuen Besteller auch inaktiv, bis sie mit einem Netzwerk verbunden sind.

Um mehrere Besteller hinzuzufügen oder zu entfernen, fügen Sie einen nach dem anderen hinzu oder entfernen Sie ihn. Stellen Sie sicher, dass das Netzwerk den Betriebsstatus wieder erreicht hat, 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, exportieren Sie seine Einstellungen und importieren Sie sie in den Gründer.

  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 ausgewählten Orderer Service Node-(OSN-)Einstellungen, die vom Private Key des Administrators der Teilnehmerorganisation signiert wurden. Senden Sie diese Datei an den Administrator der Gründerinstanz.

    Anwendungen, die auf Kanälen ausgeführt werden, die dieses OSN verwenden, erfordern auch dieses exportierte TLS-Zertifikat.

  2. Öffnen Sie in der Gründerkonsole die Registerkarte Netzwerk. Klicken Sie auf OSN hinzufügen. Es wird ein Fenster geöffnet, in dem Sie zur Eingabe des Speicherorts der JSON-Datei aufgefordert werden, die vom Teilnehmer bereitgestellt wurde. Wählen Sie diese Option aus, um die Datei hochzuladen, und klicken Sie auf Hinzufügen.

    Die Teilnehmerorganisation oder der neu skalierte Besteller wird dem Abschnitt für die Bestellerorganisation der Systemkanalliste hinzugefügt.

Konfigurationseinstellungen des Gründers exportieren

Nachdem der Teilnehmer oder die skalierten Besteller dem Gründer hinzugefügt wurden, müssen Sie die Einstellungen des Gründers exportieren und in den Teilnehmer oder den skalierten Besteller 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 wird als Heruntergefahren aufgeführt. Klicken Sie im Menü "Aktion" auf Starten.

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

Jedes Mal, wenn ein neues OSN hinzugefügt wird, indem der Besteller vertikal skaliert 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 ein OSN hinzugefügt wird.

Bestellserviceeinstellungen für das Netzwerk bearbeiten

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

  • Die aktualisierten Einstellungen werden beim Erstellen von Kanälen verwendet und nicht auf vorhandene Kanäle angewendet.
  • Sie können die Bestellserviceeinstellungen für einzelne vorhandene Kanäle aktualisieren, wie unter Bestellserviceeinstellungen für einen Kanal bearbeiten beschrieben.
  • Wenn Sie die Ordering-Service-Einstellungen ändern und Anwendungen für das Netzwerk ausgeführt werden, müssen diese Anwendungen manuell aktualisiert werden, um die überarbeiteten Ordering-Service-Einstellungen zu verwenden.
  • Es ist nicht üblich, aber in einigen Situationen können Sie einigen Netzwerkteilnehmern einen anderen Bestellservice aussetzen. In diesem Fall exportieren Sie den aktualisierten Netzwerkkonfigurationsblock, und die erforderlichen Teilnehmer importieren die überarbeiteten Einstellungen. Siehe Teilnehmer- oder skalierte OSNs mit dem Ordering-Service des Gründers verbinden.
Sie müssen Administrator sein, um diese Aufgabe abzuschließen.
  1. Gehen Sie zur Konsole des Gründers, und klicken Sie auf die Registerkarte Netzwerk.
  2. Klicken Sie auf die Schaltfläche Serviceeinstellungen für Bestellungen.
    Das Dialogfeld Serviceeinstellungen für Bestellung 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.

    In der Regel wird dieser Wert auf 1 MB oder weniger gesetzt.

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