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.

En plus du contenu traité dans cette rubrique, plusieurs tâches propres au canal pour les noeuds du responsable de la commande peuvent être effectuées dans la page Canaux de la console. Voir :

Qu'est-ce que le service de commande?

Oracle Blockchain Platform prend en charge Raft comme type de consensus.

Pour plus d'informations sur la mise en oeuvre du protocole Raft dans Hyperledger Fabric, voir : The Ordering Service - Raft.

Avec l'ancien type de consensus Kafka, l'ensemble du réseau peut avoir au plus deux nœuds de commande, 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 ordonnateurs, et chaque canal peut définir son propre jeu de noeuds ordonnateurs. Différents canaux peuvent utiliser différents nœuds de commande, et les nœuds de commande ne seront plus le goulot 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 de service de commande en vie

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 qui fonctionnent; pour six OSN, il doit y avoir au moins quatre OSN qui fonctionnent.
  • S'il y a 50 % ou moins d'OSN travaillant dans le réseau, la gestion du réseau ne sera plus fonctionnelle. Aucun canal ne peut être créé, aucun nouveau noeud d'ordonnateur ne peut être ajouté au réseau, aucun ordonnateur ne peut être supprimé du réseau, etc.
  • S'il y a 50 % ou moins d'OSN dans le canal de l'application, aucune transaction ne peut être soumise à ce canal. Les interrogations peuvent toujours fonctionner correctement. Toutefois, des 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 de chaîne risquent d'échouer.

Soyez prudent lors de l'ajout d'un nouvel 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.

Lors de la suppression d'OSN ou d'une organisation, assurez-vous que plus de 50 % des OSN continueront à fonctionner. Par exemple, si vous aviez deux organisations avec trois OSN chacune, si vous supprimiez une organisation, elle serait interprétée comme ne fonctionnant que pour 50 % des OSN. Ajoutez un OSN à l'organisation restante avant de supprimer l'organisation étrangère pour vous assurer que vous dépassez toujours 50 % des OSN qui fonctionnent.

Ne pas ajouter ou supprimer les commandes fréquemment

Chaque fois qu'un nouvel OSN est ajouté dans 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 similaire à celui qui suit peut indiquer un tel statut :
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Cela peut durer quelques minutes. Si vous avez retiré le Raft leader OSN précédent du canal, cela peut durer jusqu'à 20 minutes.

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

Assurez-vous que le nouvel ordre est démarré dès que possible

Lors de l'ajout d'un nouveau donneur d'ordre dans le réseau, généralement deux organisations seront impliquées : le fondateur et le propriétaire du nouveau donneur d'ordre. Les deux parties doivent suivre les instructions sous Se joindre au service de commande du fondateur au participant ou aux OSN évolués jusqu'à leur achèvement, sinon le fondateur ne pourra pas gérer le réseau.

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

Lorsque vous provisionnez une instance de participant, elle est créée avec 3 responsables de commande. Les commandants sont inactifs jusqu'à ce qu'ils soient connectés à un réseau. Lorsque vous mettez à l'échelle un fondateur, les nouveaux commandants sont également inactifs jusqu'à ce qu'ils soient joints à un réseau.

Pour ajouter ou supprimer plusieurs responsables de commande, ajoutez ou supprimez-en un à la fois et assurez-vous que le réseau est retourné au statut opérationnel avant d'effectuer la prochaine modification. Voir Qu'est-ce que le service de commande? pour plus de détails importants sur l'ajout, la suppression, le démarrage et l'arrêt des commandes Raft.

Exporter les paramètres OSN à partir du participant ou des responsables de la mise à l'échelle

Pour rejoindre le participant ou les commanditaires à l'échelle d'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 responsables des commandes évoluées), dans l'onglet Noeud, recherchez le noeud du responsable de la commande (ou le premier noeud du responsable de la commande s'il existe plusieurs noeuds). Sélectionnez le menu Action pour 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 (OSN) sélectionnés 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 exécutées sur des canaux qui utilisent cet OSN nécessitent également ce certificat TLS exporté.

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

    L'organisation du participant ou le nouveau responsable de la commande à l'échelle est ajouté à la section Organisation du responsable de la commande de la liste des canaux du système.

Exporter les paramètres de configuration du fondateur

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

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

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

  2. Dans la console du participant (ou la console du fondateur pour les responsables des commandes évoluées), dans l'onglet Noeud, recherchez le noeud du responsable de la commande (ou le premier noeud du responsable de la commande s'il existe plusieurs noeuds). Sélectionnez le menu d'actions pour ce noeud et sélectionnez Importer le bloc de configuration de réseau.

    Vous êtes invité à entrer le fichier envoyé par l'administrateur de l'instance fondatrice.

  3. Dans la console des participants, actualisez l'onglet Noeud. Le statut du noeud du responsable de la commande sera inactif. Dans le menu Action, sélectionnez Démarrer.

    Chaque noeud de tri qui est démarré sera ajouté au cluster Raft dans le fondateur.

Chaque fois qu'un nouvel OSN est ajouté en redimensionnant le programme de commande (comme décrit dans Ajuster votre instance), ces étapes doivent être répétées pour ajouter le nouvel OSN à la grappe Raft.

Note :

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 de 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 du service de commande pour un canal existant individuel, comme décrit dans Modifier les paramètres du service de commande 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 du service de commande révisés.
  • Ce n'est pas courant, mais dans certaines situations, vous pouvez exposer un service de commande différent à certains des participants au réseau. Dans ce cas, vous allez exporter le bloc de configuration réseau mis à jour et les participants requis vont importer les paramètres révisés. Voir Se joindre aux OSN du participant ou évolués au service de commande du fondateur.
Vous devez être un administrateur pour terminer cette tâche.
  1. Allez à 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 tri s'affiche.
  3. Mettez à jour les paramètres si nécessaire.
    Champ Description
    Temporisation de lot (ms) Spécifiez la durée en millisecondes pendant laquelle le système attendra avant de créer un lot. Entrez un nombre compris entre 1 et 360000.
    Nombre maximal de messages Spécifiez le nombre maximal de messages à inclure dans un lot. Entrez un nombre compris entre 1 et 4294967295.
    Octets de message absolus Spécifiez le nombre maximal d'octets autorisés pour les messages sérialisés d'un lot.

    Ce nombre doit être supérieur à la valeur entrée dans le champ Octets de message privilégiés.

    Octets de message privilégiés Spécifiez le nombre privilégié d'octets autorisés pour les messages sérialisés d'un lot. Un message dont la taille est 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 spécifié dans le champ Octets de message absolus.

    En général, vous réglez cette valeur à 1 Mo ou moins.

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

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

Voir les paramètres du service de commande

Vous pouvez voir les paramètres du 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 sous Joindre le participant ou les OSN évolués 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 de service de commande révisés.
  1. Allez à la console du participant et sélectionnez l'onglet Réseau.
  2. Cliquez sur Paramètres du service de commande et cliquez sur Voir.
    La boîte de dialogue Ordering Settings s'affiche.