Gérer le service de tri

Cette rubrique contient des informations sur la façon dont les fondateurs et les participants gèrent le service de commande.

Outre le contenu abordé dans cette rubrique, plusieurs tâches propres au canal pour les noeuds de donneur d'ordre peuvent être effectuées sur la page Canaux de la console. Reportez-vous à :

Qu'est-ce que le service de tri ?

Oracle Blockchain Platform prend en charge le type de radeau par consensus.

Pour plus d'informations sur l'implémentation Hyperledger Fabric du protocole Raft, reportez-vous à Service de commande - Raft.

Avec l'ancien type de consensus Kafka, l'ensemble du réseau peut avoir au plus deux noeuds de donneur d'ordre, et ils doivent rejoindre tous les canaux. Dans certains cas, ils peuvent être surchargés et ne peuvent pas être réduits. Avec le type de consensus Raft, le réseau peut avoir un nombre arbitraire de noeuds de donneur d'ordre, et chaque canal peut définir son propre ensemble de noeuds de donneur d'ordre. Différents canaux peuvent utiliser différents noeuds de donneur d'ordre, et les noeuds de donneur d'ordre ne constituent plus le goulet d'étranglement.

Cependant, le type de consensus Raft peut être compliqué à configurer correctement. Il existe des règles sur ce qui peut ou ne peut pas être fait, et si ces règles ne sont pas suivies par le canal et même le réseau peut ne pas fonctionner. Les consignes suivantes doivent réduire les problèmes que vous rencontrez :

Maintien actif de la majorité des noeuds de service de commande

L'algorithme de consensus Raft exige que la majorité des noeuds de service de commande fonctionnent ; sinon, aucun consensus ne peut être obtenu. La majorité signifie plus de 50%. Par exemple, pour cinq OSN, au moins trois OSN doivent fonctionner ; pour six OSN, au moins quatre OSN doivent fonctionner.
  • Si 50 % ou moins d'OSN travaillent sur le réseau, la gestion du réseau ne sera plus fonctionnelle. Aucun canal ne peut être créé, aucun noeud de donneur d'ordre ne peut être ajouté au réseau, aucun donneur d'ordre ne peut être supprimé du réseau, etc.
  • Si au moins 50 % des OSN travaillent dans le canal d'application, aucune transaction ne peut être soumise à ce canal d'application. Les requêtes peuvent toujours fonctionner correctement, mais les opérations administratives telles que l'ajout d'une nouvelle organisation, la modification de la liste de contrôle d'accès, ou l'instanciation ou le déploiement de codes chaîne échoueront.

Soyez prudent lorsque vous ajoutez un nouveau OSN au réseau ou à un canal d'application. Assurez-vous que le propriétaire est digne de confiance et que l'OSN est robuste.

Lorsque vous supprimez des OSN ou une organisation, assurez-vous que plus de 50 % des OSN fonctionnent toujours. Par exemple, si vous aviez 2 organisations avec 3 OSN chacune, si vous avez supprimé une organisation, pendant la suppression, elle serait interprétée comme étant seulement 50% des OSN en cours de fonctionnement. Ajoutez un OSN à l'organisation restante avant de supprimer l'organisation étrangère pour vous assurer que vous dépassez toujours 50 % des OSN en activité.

Ne pas ajouter ou supprimer des prescripteurs fréquemment

Chaque fois qu'un nouveau réseau OSN est ajouté à un réseau ou à un canal, ou qu'un réseau OSN existant est enlevé d'un canal, le cluster OSN Raft en cours devient brièvement instable. Pendant cette période, aucune transaction ne peut être traitée et un message d'erreur semblable au suivant peut indiquer un tel statut :
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Cette opération peut durer quelques minutes. Si vous avez enlevé le numéro OSN de leader de radeau précédent du canal, cette opération peut durer jusqu'à 20 minutes.

Assurez-vous de ne pas ajouter ou supprimer fréquemment des donneurs d'ordre. Si plusieurs donneurs d'ordre doivent être ajoutés ou supprimés, assurez-vous un par un que le réseau est revenu au statut opérationnel avant d'effectuer la modification suivante.

S'assurer que le nouveau donneur d'ordre est démarré dès que possible

Lors de l'ajout d'un nouveau donneur d'ordre au réseau, deux organisations sont généralement impliquées : le fondateur et le propriétaire du nouveau donneur d'ordre. Les deux parties doivent suivre les instructions de la section Rejoindre le participant ou les OSN mis à l'échelle au service de commande du fondateur jusqu'à l'achèvement, faute de quoi le fondateur ne pourra pas gérer le réseau.

Rejoindre le participant ou les OSN mis à l'échelle au service de commande du fondateur

Lorsque vous provisionnez une instance de participant, elle est créée avec 3 donneurs d'ordre. Les donneurs d'ordres sont inactifs jusqu'à ce qu'ils soient joints à un réseau. Lorsque vous redimensionnez un fondateur, les nouveaux donneurs d'ordre sont également inactifs jusqu'à ce qu'ils soient joints à un réseau.

Si plusieurs donneurs d'ordre doivent être ajoutés ou supprimés, assurez-vous un par un que le réseau est revenu au statut opérationnel avant d'effectuer la modification suivante. Reportez-vous à Qu'est-ce que le service de commande ? pour obtenir des détails importants supplémentaires sur l'ajout, la suppression, le démarrage et l'arrêt des ordonnateurs Raft.

Export des paramètres OSN à partir du participant ou des prescripteurs mis à l'échelle

Pour rejoindre le participant ou les donneurs d'ordre à l'échelle d'un réseau, vous devez exporter leurs paramètres et les importer dans le fondateur.

  1. Dans la console des participants (ou la console du fondateur pour les donneurs d'ordres redimensionnés), dans l'onglet Noeud, recherchez le noeud donneur d'ordres (ou le premier noeud donneur d'ordres s'il existe plusieurs noeuds). Sélectionnez le menu Action pour ce noeud et sélectionnez Exporter les paramètres OSN.

    Cela générera un fichier JSON avec les paramètres et enregistrera le fichier. Le fichier contient le certificat de l'organisation et les paramètres de noeud de service du donneur d'ordre (OSN) sélectionnés signés par la clé privée de l'administrateur de l'organisation participante. Ce fichier doit être envoyé à l'administrateur de l'instance fondatrice.

    Les applications exécutées sur des canaux à l'aide de ce numéro OSN nécessitent également ce certificat TLS exporté. Reportez-vous à Avant de développer une application.

  2. Dans la console du fondateur, ouvrez l'onglet Réseau. Cliquez sur Add OSN. Une fenêtre s'ouvre et vous invite à indiquer l'emplacement du fichier JSON fourni par le participant. Sélectionnez cette option pour charger le fichier et cliquez sur Ajouter.

    L'organisation du participant ou le nouveau prescripteur mis à l'échelle sera ajouté à la section Organisation du prescripteur de la liste de canaux système.

Export des paramètres de configuration du fondateur

Une fois que le participant ou les commandants mis à l'échelle ont été ajoutés au fondateur, vous devez exporter les paramètres du fondateur et les importer au participant ou au commandant mis à l'échelle.

  1. Dans la console du fondateur, ouvrez l'onglet Réseau. Cliquez sur Exporter un bloc de configuration réseau.

    Le bloc de configuration réseau contient le dernier bloc de configuration de canal système. Il peut être enregistré et envoyé à l'administrateur des participants.

  2. Dans la console des participants (ou la console du fondateur pour les donneurs d'ordres redimensionnés), dans l'onglet Noeud, recherchez le noeud donneur d'ordres (ou le premier noeud donneur d'ordres s'il existe plusieurs noeuds). Sélectionnez le menu Action pour ce noeud et sélectionnez Importer le bloc de configuration réseau.

    Vous serez invité à saisir le fichier envoyé par l'administrateur de l'instance fondatrice.

  3. Dans la console du participant, actualisez l'onglet Noeud. Le statut du noeud du donneur d'ordre doit être "down". Dans le menu Action, sélectionnez Démarrer.

    Chaque noeud de donneur d'ordres démarré sera ajouté au cluster Raft du fondateur.

A chaque fois qu'un nouveau numéro de système d'exploitation est ajouté en redimensionnant le donneur d'ordre (comme décrit dans Redimensionnement de l'instance), vous devez répéter ces étapes pour ajouter le nouveau numéro de système d'exploitation au cluster Raft.

Remarques :

Vous ne pouvez pas ajouter plusieurs OSN à un réseau en un seul lot. Assurez-vous que seul 1 OSN est ajouté à la fois.

Modifier les paramètres de service de commande pour le réseau

Vous pouvez mettre à jour les paramètres du service de commande pour l'instance fondatrice.

Notez les informations importantes suivantes concernant la modification des paramètres du service de commande :
  • Les paramètres mis à jour sont utilisés lorsque vous créez des canaux et ne sont pas appliqués aux canaux existants.
  • Vous pouvez également mettre à jour les paramètres du service de tri pour un canal existant individuel, comme décrit dans Modification des paramètres du service de tri pour un canal.
  • Si vous modifiez les paramètres du service de commande et que des applications s'exécutent sur le réseau, ces applications doivent être mises à jour manuellement pour utiliser les paramètres révisés du service de commande.
  • Ce n'est pas courant, mais dans certaines situations, vous pouvez exposer un service de commande différent à certains participants du réseau. Dans ce cas, vous exportez le bloc de configuration réseau mis à jour et les participants requis importeront les paramètres révisés. Reportez-vous à Rejoindre le participant ou les OSN redimensionnés au service de commande du fondateur.
Pour réaliser cette tâche, vous devez être administrateur.
  1. Accédez à la console du fondateur et sélectionnez l'onglet Réseau.
  2. Cliquez sur le bouton Paramètres du service de commande.
    La boîte de dialogue Paramètres du service de commande apparaît.
  3. Mettez à jour les paramètres selon vos besoins.
    Champ Description
    Délai d'expiration du batch (ms) Indiquez la durée en millisecondes que le système doit attendre avant de créer un lot. Saisissez un nombre compris entre 1 et 3600000.
    Nombre maximal de messages Indiquez le nombre maximum de messages à inclure dans un lot. Saisissez un nombre compris entre 1 et 4294967295.
    Octets de message absolus Indiquez le nombre maximal d'octets autorisés pour les messages sérialisés dans un batch.

    Ce nombre doit être supérieur à la valeur saisie dans le champ Octets de message préférés.

    Octets de message préférés Indiquez le nombre préféré d'octets autorisés pour les messages sérialisés dans un batch. Un message de taille supérieure à cette taille entraîne un lot plus volumineux, mais la taille du lot sera égale ou inférieure au nombre d'octets que vous avez indiqué dans le champ Octets de message absolus.

    Oracle recommande de définir cette valeur sur 1 Mo ou moins.

    La valeur que vous saisissez dans ce champ doit être inférieure à la valeur que vous saisissez dans le champ Octets de message absolus.

    Taille d'intervalle du cliché Définit le nombre de Mo pour lesquels un instantané est pris.
  4. Cliquez sur Mettre à jour.
    Les paramètres mis à jour sont enregistrés.

Afficher les paramètres du service de commande

Vous pouvez afficher les paramètres de service de commande du fondateur qui ont été importés dans l'instance Oracle Blockchain Platform d'un participant.

Si le fondateur modifie les paramètres du service de commande, les nouveaux paramètres doivent être portés vers le participant comme décrit dans Rejoindre le participant ou les OSN redimensionnés vers le service de commande du fondateur. Si des applications s'exécutent sur le réseau, ces applications doivent être mises à jour manuellement pour utiliser les paramètres révisés du service de commande.
  1. Accédez à la console du participant et sélectionnez l'onglet Réseau.
  2. Cliquez sur Paramètres de service de commande, puis sur Visualiser.
    La boîte de dialogue Paramètres de prescription s'affiche.