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.

En plus du contenu décrit dans cette rubrique, plusieurs tâches propres aux canaux 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 tri?

Oracle Blockchain Platform prend en charge Raft en tant que type de consensus.

Pour plus d'informations sur la mise en oeuvre de Hyperledger Fabric dans le protocole Raft, voir : Service de commande - Raft.

Avec l'ancien type de consensus Kafka, l'ensemble du réseau peut avoir au plus deux noeuds 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 nœuds de commande, et chaque canal peut définir son propre jeu de nœuds de commande. Différents canaux peuvent utiliser différents noeuds de tri, et les noeuds de tri 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 doivent réduire les problèmes que vous rencontrez :

Maintenir la majorité des noeuds de service de commande (OSN) 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 qui fonctionnent; pour six OSN, il doit y avoir au moins quatre OSN qui fonctionnent.
  • Si 50 % ou moins d'OSN fonctionnent dans le réseau, la gestion du réseau ne sera plus fonctionnelle. Il n'est pas possible de créer de nouveaux canaux, d'ajouter de nouveaux noeuds de commande au réseau, de supprimer le responsable de la commande du réseau, etc.
  • Si 50 % ou moins des OSN fonctionnent dans le canal d'application, aucune transaction ne peut être soumise à ce canal d'application. Les interrogations peuvent toujours fonctionner correctement, mais 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 de 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, pendant la suppression, elle serait interprétée comme seulement 50% des OSN étant fonctionnels. Ajoutez un OSN à l'organisation restante avant de supprimer l'organisation externe pour vous assurer que vous dépassez toujours 50 % des OSN qui fonctionnent.

Ne pas ajouter ou supprimer fréquemment des commandants

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 Raft OSN actuel devient brièvement instable. Pendant cette période, aucune transaction ne peut être traitée, et un message d'erreur similaire à ce qui suit peut indiquer un tel statut :
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Cela peut durer quelques minutes. Si vous avez supprimé l'OSN de leader de radeau précédent du canal, cela peut durer jusqu'à 20 minutes.

Assurez-vous de ne pas ajouter ou supprimer fréquemment des responsables des commandes. Si plusieurs commandants doivent être ajoutés ou supprimés, effectuez une opération à la fois pour vous assurer que le réseau est revenu au statut opérationnel avant d'effectuer la prochaine modification.

Assurez-vous que le nouveau responsable de la commande démarre le plus rapidement possible

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

Rejoignez 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 commandants. 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.

Si plusieurs commandants doivent être ajoutés ou supprimés, effectuez une opération à la fois pour vous assurer que le réseau est revenu au statut opérationnel avant d'effectuer la prochaine modification. Voir À quoi sert le service de commande? pour plus de détails importants sur l'ajout, la suppression, le démarrage et l'arrêt des commandants de radeau.

Exporter les paramètres OSN à partir du participant ou des processus de commande évolués

Pour rejoindre le participant ou les responsables de commandes évolués sur un réseau, vous devez exporter leurs paramètres et les importer dans le fondateur.

  1. Dans la console du participant (ou la console du fondateur pour les responsables des commandes ajustés), dans l'onglet Noeud, recherchez le noeud du responsable des commandes (ou le premier noeud du responsable des commandes s'il existe plusieurs noeuds). Sélectionnez le menu d'actions 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 OSN (Orderer Service Node) 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 en cours d'exécution sur des canaux utilisant ce OSN nécessitent également ce certificat TLS exporté. Voir Avant de développer une application.

  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 cette option pour charger le fichier et cliquez sur Ajouter.

    L'organisation du participant ou le nouveau responsable de la commande mis à l'échelle sera ajouté à la section de l'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 responsables de la mise à l'échelle ont été ajoutés au fondateur, vous devez exporter les paramètres du fondateur et les importer au participant ou au responsable de la mise à 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 ajustés), dans l'onglet Noeud, recherchez le noeud du responsable des commandes (ou le premier noeud du responsable des commandes 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 serez invité à indiquer le fichier envoyé par l'administrateur de l'instance fondatrice.

  3. Dans la console des participants, actualisez l'onglet Noeud. Le statut du noeud de tri doit être "down". Dans le menu d'actions, sélectionnez Démarrer.

    Chaque noeud de commande démarré sera ajouté au cluster Raft dans le fondateur.

Chaque fois qu'un nouveau numéro OSN est ajouté en ajustant le responsable de la commande (comme décrit dans Ajuster l'instance), ces étapes doivent être répétées pour ajouter le nouveau numéro OSN à la grappe Raft.

Note :

Vous ne pouvez pas ajouter plusieurs OSN 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 concernant la modification des paramètres du service de commande :
  • Les paramètres mis à jour sont utilisés lorsque vous créez de nouveaux canaux et ne sont pas appliqués à des canaux existants.
  • Vous pouvez mettre à jour séparément les paramètres de service de tri pour chaque canal existant, comme décrit dans Modifier les paramètres de 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 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 allez exporter le bloc de configuration réseau mis à jour et les participants requis importeront les paramètres révisés. Voir Rejoindre le participant ou les OSN évolués au service de commande du fondateur.
Vous devez être un administrateur pour effectuer cette tâche.
  1. Allez à 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 s'affiche.
  3. Mettez à jour les paramètres selon les besoins.
    Champ Description
    Temporisation de lot (ms) Spécifiez la durée en millisecondes pendant laquelle le système doit attendre avant de créer un lot. Entrez un numéro compris entre 1 et 3600000.
    Nombre maximal de messages Indiquez le nombre maximal de messages à inclure dans un lot. Entrer un nombre compris entre 1 et 4294967295.
    Octets de message absolus Spécifier le nombre maximal d'octets autorisés pour les messages avec numéro de série dans 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écifier le nombre privilégié d'octets autorisés pour les messages avec numéro de série dans un lot. Un message d'une taille supérieure à cette taille entraîne un lot plus grand, 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.

    Oracle recommande de régler cette valeur à 1 Mo ou moins.

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

    Taille de l'intervalle d'instantané 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.

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 de service de tri et cliquez sur Voir.
    La boîte de dialogue Ordering Settings s'affiche.