Gérer le service de commande

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 aux canaux pour les noeuds donneurs d'ordres peuvent être effectuées sur la page Canaux de la console. Reportez-vous aux sections suivantes :

Qu'est-ce que le service de commande ?

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 à : The Ordering Service - Raft.

Avec l'ancien type de consensus Kafka, l'ensemble du réseau peut avoir au plus deux nœuds 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 nœuds de donneur d'ordre, et chaque canal peut définir son propre ensemble de nœuds de donneur d'ordre. Différents canaux peuvent utiliser différents nœuds de donneur d'ordre, et les nœuds de donneur d'ordre 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 suivies le canal et même le réseau peut ne pas fonctionner. Les directives suivantes peuvent réduire le nombre de problèmes que vous rencontrez :

Maintenir la majorité des noeuds du service de commande actifs

L'algorithme de consensus Raft exige que la majorité des nœuds de service de commande (OSN) fonctionnent ; sinon aucun consensus ne peut être fait. La majorité signifie plus de 50%. Par exemple, pour cinq OSN, il doit y avoir au moins trois OSN fonctionnant ; pour six OSN, il doit y avoir au moins quatre OSN fonctionnant.
  • S'il y a 50 % ou moins d'OSN travaillant sur le réseau, la gestion du 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 des OSN travaillent dans le canal de l'application, aucune transaction ne peut être soumise à ce canal de l'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 le déploiement de codes chaîne échouent.

Soyez prudent lorsque vous ajoutez un nouveau numéro 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 restent opérationnels. Par exemple, si vous aviez deux organisations avec trois OSN chacune, si vous en aviez retiré une, au cours de la suppression, elle serait interprétée comme seulement 50 % des OSN étant fonctionnels. Ajoutez un numéro OSN à l'organisation restante avant de supprimer l'organisation étrangère pour vous assurer que vous dépassez toujours 50 % des numéros OSN qui fonctionnent.

Ne pas ajouter ou supprimer fréquemment des donneurs d'ordre

Chaque fois qu'un nouveau OSN est ajouté à un réseau ou à un canal, ou qu'un OSN existant est supprimé d'un canal, le cluster OSN Raft actuel 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

Cela peut durer quelques minutes. Si vous avez supprimé l'ancien OSN du leader Raft du canal, cela peut durer jusqu'à 20 minutes.

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

Assurez-vous que le nouveau donneur d'ordre est démarré 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 section Join the Participant or Scaled-Out OSNs to the Founder's Ordering Service jusqu'à la fin du processus ou le fondateur ne pourra pas gérer le réseau.

Rejoindre les OSN participants ou évolutifs 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'ordre sont inactifs jusqu'à ce qu'ils soient connectés à un réseau. Lorsque vous mettez à l'échelle un fondateur, les nouveaux donneurs d'ordres sont également inactifs jusqu'à ce qu'ils soient joints à un réseau.

Pour ajouter ou supprimer plusieurs donneurs d'ordre, ajoutez ou supprimez-en un à la fois et assurez-vous que le réseau est revenu au statut opérationnel avant de procéder à la modification suivante. Reportez-vous à la section Qu'est-ce que le service de commande ? pour plus d'informations importantes sur l'ajout, la suppression, le démarrage et l'arrêt des commandes Raft.

Export des paramètres OSN des participants ou des prescripteurs redimensionnés

Pour rejoindre le participant ou les donneurs d'ordres à grande échelle dans un réseau, exportez leurs paramètres et importez-les dans le fondateur.

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

    Cela génère un fichier JSON avec les paramètres et enregistre le fichier. Le fichier contient le certificat de l'organisation et les paramètres du noeud de service du donneur d'ordre sélectionné signés par la clé privée de l'administrateur de l'organisation participante. Envoyez ce fichier à l'administrateur de l'instance fondatrice.

    Les applications qui sont exécutées sur des canaux qui utilisent ce numéro OSN nécessitent également ce certificat TLS exporté.

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

    L'organisation du participant ou le prescripteur nouvellement augmenté est ajouté à la section de l'organisation du prescripteur de la liste de canaux système.

Exporter les paramètres de configuration du fondateur

Une fois le participant ou les donneurs d'ordres mis à l'échelle ajoutés au fondateur, vous devez exporter les paramètres du fondateur et les importer dans le participant ou le donneur d'ordre mis à l'échelle.

  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 enregistré et envoyé à l'administrateur des participants.

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

    Vous êtes invité à saisir le fichier qui a été 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 est down. Sélectionnez Démarrer dans le menu Action.

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

Chaque fois qu'un nouveau numéro OSN est ajouté en redimensionnant le donneur d'ordre (comme décrit dans Redimensionnement de l'instance), ces étapes doivent être répétées pour ajouter le nouveau numéro OSN au cluster Raft.

Remarques :

Vous ne pouvez pas ajouter plusieurs OSN à un réseau en un seul lot. Assurez-vous qu'un seul 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.

  • 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 mettre à jour les paramètres de service de commande pour un canal existant individuel, comme décrit dans Modification des paramètres de service de commande pour un canal.
  • Si vous modifiez les paramètres du service de commande et que des applications sont exécutées 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 à la section Rejoindre les OSN participant ou évolutif au service de commande du fondateur.
Vous devez être administrateur pour effectuer cette tâche.
  1. Accédez à la console du fondateur et cliquez sur 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 lot (ms) Indiquez la durée, en millisecondes, pendant laquelle le système attendra 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 que vous saisissez dans le champ Octets de message préférés.

    Octets de message préférés Indiquez le nombre d'octets préféré autorisé pour les messages sérialisés dans un batch. 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 spécifié dans le champ Octets de message absolus.

    En général, vous définissez 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 de cliché Définit le nombre de Mo par lesquels un instantané est pris.
  4. Cliquez sur Mettre à jour.
    Les paramètres mis à jour sont enregistrés.

Affichage des paramètres du service de commande

Vous pouvez visualiser 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 la section Rejoindre le service OSN Participant ou Redimensionné au service de commande du fondateur. Si des applications sont exécutées sur le réseau, elles doivent être mises à jour manuellement pour utiliser les paramètres de service de commande révisés.
  1. Accédez à la console du participant et sélectionnez l'onglet Réseau.
  2. Cliquez sur Paramètres du service de commande, puis sur Visualiser.
    La boîte de dialogue Paramètres de prescription s'affiche.