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 donneurs d'ordres 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 Raft comme type de consensus.

Pour plus d'informations sur l'implémentation Hyperledger Fabric du protocole Raft, reportez-vous à la section : The Ordering Service - Raft.

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

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

Maintien de la majorité des noeuds de service donneur d'ordre (OSN) actifs

L'algorithme de consensus Raft exige que la majorité des noeuds de service de commande (OSN) fonctionnent ; sinon, aucun consensus ne peut être fait. 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 fonctionnent sur le réseau, la gestion réseau ne sera plus fonctionnelle. Aucun canal ne peut être créé, aucun noeud donneur d'ordre ne peut être ajouté au réseau, aucun donneur d'ordre ne peut être supprimé du réseau, etc.
  • Si 50 % ou moins d'OSN travaillent dans le canal d'application, aucune transaction ne peut être soumise à ce canal d'application. Les requêtes peuvent toujours fonctionner correctement. Toutefois, les opérations d'administration 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 avez 2 organisations avec 3 OSN chacune, si vous avez supprimé une organisation, lors de la suppression, elle serait interprétée comme seulement 50% des OSN étant fonctionnels. Ajoutez un numéro de système d'exploitation à l'organisation restante avant de supprimer l'organisation étrangère afin de vous assurer que vous dépassez toujours 50 % des numéros de système d'exploitation qui fonctionnent.

Ne pas ajouter ou supprimer fréquemment les prescripteurs

Chaque fois qu'un nouveau système d'exploitation est ajouté à un réseau ou à un canal, ou qu'un système d'exploitation existant est supprimé d'un canal, le cluster Raft OSN actuel devient rapidement 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 retiré le précédent Raft leader OSN du canal, cela peut durer jusqu'à 20 minutes.

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

Assurez-vous que le nouveau donneur d'ordre démarre dès que possible

Lors de l'ajout d'un nouveau donneur d'ordre dans le 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 rubrique Rejoindre les OSN du participant ou des OSN mis à l'échelle au service de commande du fondateur jusqu'à la fin, sinon le fondateur ne pourra pas gérer le réseau.

Rejoindre le participant ou les OSN évolutifs au service de commande du fondateur

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

Si plusieurs donneurs d'ordres doivent être ajoutés ou supprimés, assurez-vous un par un que le réseau est revenu à l'état opérationnel avant d'effectuer la modification suivante. Pour plus d'informations sur l'ajout, la suppression, le démarrage et l'arrêt des donneurs d'ordres Raft, reportez-vous à Qu'est-ce que le service de commande ?.

Exporter les paramètres OSN à partir du participant ou des ordonnateurs mis à l'échelle

Pour rejoindre le participant ou les donneurs d'ordres réduits sur un réseau, vous devez exporter leurs paramètres et les importer dans le fondateur.

  1. Dans l'onglet Noeud de la console du participant (ou de la console fondatrice pour les donneurs d'ordres mis à l'échelle), recherchez le noeud donneur d'ordres (ou le premier noeud donneur d'ordres s'il existe plusieurs noeuds). Sélectionnez le menu d'action de 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 utilisant ce numéro de système d'exploitation nécessitent également ce certificat TLS exporté. Reportez-vous à Avant de développer une application.

  2. Dans la console fondatrice, 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 participante ou le prescripteur nouvellement augmenté sera ajouté à la section de l'organisation prescripteur de la liste des canaux système.

Exporter les paramètres de configuration du fondateur

Une fois que le participant ou les donneurs d'ordre réduits ont été ajoutés au fondateur, vous devez exporter les paramètres du fondateur et les importer au participant ou au donneur d'ordre réduit.

  1. Dans la console fondatrice, 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 sauvegardé et envoyé à l'administrateur du participant.

  2. Dans l'onglet Noeud de la console du participant (ou de la console fondatrice pour les donneurs d'ordres mis à l'échelle), recherchez le noeud donneur d'ordres (ou le premier noeud donneur d'ordres s'il existe plusieurs noeuds). Sélectionnez le menu Action de 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 des participants, actualisez l'onglet Noeud. Le statut du noeud donneur d'ordre doit être indiqué comme étant "down". Dans le menu Action, sélectionnez Démarrer.

    Chaque nœud de donneur d'ordre démarré sera ajouté au cluster Raft dans le fondateur.

Chaque fois qu'un nouveau nom de système d'exploitation est ajouté en augmentant le donneur d'ordre (comme décrit dans Redimensionnement de l'instance), ces étapes doivent être répétées pour ajouter le nouveau nom de système d'exploitation au cluster Raft.

Remarques :

Vous ne pouvez pas ajouter plusieurs numéros de système d'exploitation dans un réseau en un seul lot. Assurez-vous que seul 1 OSN est ajouté à la fois.

Modifier les paramètres du 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 sur la modification des paramètres du service de prescription :
  • Les paramètres mis à jour sont utilisés lorsque vous créez de nouveaux canaux et ne sont pas appliqués aux canaux existants.
  • Vous pouvez également mettre à jour les paramètres de service de tri d'un canal existant, comme décrit dans Modification des paramètres de service de tri d'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 des participants du réseau. Dans ce cas, vous allez exporter le bloc de configuration réseau mis à jour et les participants requis importeront les paramètres révisés. Reportez-vous à Rejoindre les numéros de système d'exploitation participant ou redimensionné 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. Si nécessaire, mettez à jour les paramètres.
    Champ Description
    Délai d'expiration du lot (ms) Indiquez la durée en millisecondes pendant laquelle 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.
    Nombre absolu d'octets de message Indiquez le nombre maximal d'octets autorisés pour les messages sérialisés dans un lot.

    Ce nombre doit être supérieur à la valeur que vous saisissez 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 lot. Un message d'une taille supérieure à cette taille génère un lot plus important, mais la taille du lot sera inférieure ou égale 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 à celle que vous saisissez dans le champ Octets de message absolus.

    Taille d'intervalle de cliché Définit le nombre de Mo par lequel 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 au participant comme décrit dans Rejoindre les OSN du participant ou des OSN mis à l'échelle au 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.