Ordering-Service verwalten
Dieses Thema enthält Informationen dazu, wie Gründer und Teilnehmer den Bestellservice verwalten.
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
- 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
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.
-
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.
-
Ö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.
-
Ö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.
-
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.
-
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.
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.
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.