Gerenciar Serviço de Ordenamento

Este tópico contém informações sobre como os fundadores e participantes gerenciam o serviço de pedidos.

Além do conteúdo abordado neste tópico, várias tarefas específicas do canal para os nós do solicitante podem ser executadas na página Canais da console. Consulte:

O que é o Serviço de Ordenamento?

O Oracle Blockchain Platform suporta Raft como o tipo de consenso.

Para obter mais informações sobre a implementação do protocolo Raft no Hyperledger Fabric, consulte: The Ordering Service - Raft.

Com o tipo de consenso Kafka mais antigo, toda a rede pode ter no máximo dois nós de pedido, e eles têm que se juntar a todos os canais. Em alguns casos, eles podem estar sobrecarregados e não podem ser expandidos. Com o tipo de consenso Raft, a rede pode ter um número arbitrário de nós do solicitante, e cada canal pode definir seu próprio conjunto de nós do solicitante. Canais diferentes podem usar nós de ordenador diferentes, e nós de ordenador não serão mais o gargalo.

No entanto, o tipo de consenso Raft pode ser complicado de configurar corretamente. Existem regras sobre o que pode ou não pode ser feito, e se essas regras não forem seguidas o canal e até mesmo a rede pode não funcionar. As seguintes diretrizes devem reduzir os problemas encontrados:

Mantenha a Maioria dos Nós de Serviço de Pedidos (OSN) Ativa

O algoritmo de consenso Raft exige que a maioria dos nós de serviço de solicitação (OSNs) esteja funcionando; caso contrário, nenhum consenso poderá ser feito. Maioria significa mais de 50%. Por exemplo, para cinco OSNs, deve haver pelo menos três OSNs funcionando; para seis OSNs, deve haver pelo menos quatro OSNs funcionando.
  • Se houver 50% ou menos OSNs trabalhando na rede, o gerenciamento de rede não será mais funcional. Nenhum canal novo pode ser criado, nenhum nó novo do solicitante pode ser adicionado à rede, nenhum solicitante pode ser removido da rede e assim por diante.
  • Se houver 50% ou menos OSNs trabalhando no canal do aplicativo, nenhuma transação poderá ser enviada para esse canal do aplicativo. As consultas ainda podem funcionar corretamente, no entanto, operações administrativas como adicionar uma nova organização, alterar a lista de controle de acesso ou instanciar ou implantar códigos de cadeia falharão.

Tenha cuidado ao adicionar um novo OSN à rede ou a um canal de aplicativo. Certifique-se de que o proprietário é confiável e o OSN é robusto.

Ao remover OSNs ou uma organização, certifique-se de que mais de 50% dos OSNs permaneçam funcionando. Por exemplo, se você teve 2 organizações com 3 OSNs cada, se você removeu uma organização, durante a remoção ela seria interpretada como apenas 50% das OSNs sendo funcionais. Adicione um OSN à organização restante antes de excluir a organização externa para garantir que você sempre exceda 50% dos OSNs em funcionamento.

Não adicionar ou remover solicitantes com frequência

Toda vez que uma nova OSN é adicionada a uma rede ou canal, ou uma OSN existente é removida de um canal, o cluster de OSN Raft atual se tornará instável brevemente. Durante esse período, nenhuma transação pode ser tratada, e uma mensagem de erro semelhante à seguinte pode indicar esse status:
UNKNOWN: Stream removed
SERVICE UNAVAILABLE
BAD REQUEST

Isso pode durar alguns minutos. Se você removeu o OSN do líder Raft anterior do canal, isso pode durar até 20 minutos.

Certifique-se de que você não está adicionando ou removendo solicitantes com frequência. Se vários solicitantes precisarem ser adicionados ou removidos, faça um de cada vez garantindo que a rede tenha retornado ao status operacional antes de fazer a próxima alteração.

Certifique-se de que o novo solicitante seja iniciado assim que possível

Ao adicionar um novo solicitante à rede, geralmente duas organizações estarão envolvidas: o fundador e o proprietário do novo solicitante. Ambas as partes devem seguir as instruções em Participar dos OSNs Participantes ou Escalonados para o Serviço de Pedidos do Fundador até a conclusão ou o fundador não poderá gerenciar a rede.

Junte-se aos OSNs do Participante ou Escalonados ao Serviço de Pedidos do Fundador

Quando você provisiona uma instância de participante, ela é criada com 3 solicitantes. Há solicitantes inativos até que sejam unidos a uma rede. Quando você amplia um fundador, os novos solicitantes também ficam inativos até que eles se juntem a uma rede.

Se vários solicitantes precisarem ser adicionados ou removidos, faça um de cada vez garantindo que a rede tenha retornado ao status operacional antes de fazer a próxima alteração. Consulte O que é o Serviço de Pedidos? para obter detalhes importantes adicionais sobre como adicionar, remover, iniciar e interromper solicitantes de Raft.

Exportar as Definições do OSN do Participante ou dos Orderers Escalonados

Para se juntar ao participante ou escalonar os solicitantes para uma rede, você precisa exportar suas configurações e importá-las para o fundador.

  1. Na console do participante (ou na console do fundador para solicitantes escalonados), na guia , localize o nó do solicitante (ou o primeiro nó do solicitante se houver vários nós). Selecione o menu Ação deste nó e Exportar Definições OSN.

    Isso gerará um arquivo JSON com as configurações e salvará o arquivo. O arquivo contém o certificado da organização e as configurações selecionadas do nó de serviço do solicitante (OSN) assinadas pela chave privada do administrador da organização do participante. Esse arquivo precisa ser enviado ao administrador da instância fundadora.

    Os aplicativos executados em canais que usam esse OSN também exigem esse certificado TLS exportado. Consulte Antes de Desenvolver um Aplicativo.

  2. Na console do fundador, abra a guia Rede. Clique em Adicionar OSN. Uma janela é aberta solicitando a localização do arquivo JSON fornecido pelo participante. Selecione para fazer upload do arquivo e clique em Adicionar.

    A organização participante ou o solicitante recém-dimensionado será adicionado à seção de organização do solicitante da lista de canais do sistema.

Exportar as Definições de Configuração do Fundador

Depois que o participante ou os solicitantes escalonados forem adicionados ao fundador, você precisará exportar as configurações do fundador e importá-las para o participante ou para o solicitante escalonado.

  1. Na console do fundador, abra a guia Rede. Clique em Exportar Bloco de Configuração de Rede.

    O bloco de configuração de rede contém o bloco de configuração de canal de sistema mais recente. Isso pode ser salvo e enviado ao administrador do participante.

  2. Na console do participante (ou na console do fundador para solicitantes escalonados), na guia , localize o nó do solicitante (ou o primeiro nó do solicitante se houver vários nós). Selecione o menu Ação deste nó e selecione Importar Bloco de Configuração de Rede.

    Você será solicitado a fornecer o arquivo enviado pelo administrador da instância do fundador.

  3. Na console do participante, atualize a guia . O status do nó do solicitante deve ser listado como "inativo". No menu Ação, selecione Iniciar.

    Cada nó do solicitante iniciado será adicionado ao cluster Raft no fundador.

Cada vez que um novo OSN é adicionado, ampliando o solicitante (conforme descrito em Dimensionar Sua Instância), essas etapas precisam ser repetidas para adicionar o novo OSN ao cluster Raft.

Observação:

Não é possível adicionar vários OSNs em uma rede em um único lote. Certifique-se de que apenas 1 OSN seja adicionado por vez.

Editar Definições do Serviço de Ordenação da Rede

Você pode atualizar as definições do serviço de solicitação da instância fundadora.

Observe as seguintes informações importantes sobre a edição das definições do serviço de ordenação:
  • As configurações atualizadas são usadas quando você cria novos canais e não são aplicadas aos canais existentes.
  • Separadamente, você pode atualizar as definições de serviço de ordenamento de canais existentes individuais, conforme descrito em Editar Definições de Serviço de Ordenamento de um Canal.
  • Se você alterar as definições do serviço de pedido e houver aplicativos em execução na rede, esses aplicativos deverão ser atualizados manualmente para usar as definições revisadas do serviço de pedido.
  • Não é comum, mas em algumas situações, você pode expor um serviço de pedido diferente a alguns dos participantes da rede. Nesse caso, você exportará o bloco de configuração de rede atualizado e os participantes necessários importarão as configurações revisadas. Consulte Participar dos OSNs do Participante ou Escalonados para o Serviço de Pedidos do Fundador.
Você deve ser administrador para executar esta tarefa.
  1. Vá até o console do fundador e selecione a guia Rede.
  2. Clique no botão Solicitando Definições de Serviço.
    A caixa de diálogo Definições do Serviço de Ordem é exibida.
  3. Atualize as configurações conforme necessário.
    Campo Descrição
    Timeout do Lote (ms) Especifique o tempo em milissegundos que o sistema deve aguardar antes de criar um lote. Informe um número entre 1 e 3600000.
    Contagem máxima de mensagens Especifique o número máximo de mensagens a serem incluídas em um batch. Informe um número entre 1 e 4294967295.
    Bytes absolutos da mensagem Especifique o número máximo de bytes permitido para as mensagens serializadas em um batch.

    Esse número deve ser maior que o valor inserido no campo Bytes de mensagem preferenciais.

    Bytes de Mensagem Preferencial Especifique o número preferencial de bytes permitido para as mensagens serializadas em um batch. Uma mensagem maior que esse tamanho resulta em um lote maior, mas o tamanho do lote será igual ou menor que o número de bytes especificado no campo Bytes da Mensagem Absoluta.

    A Oracle recomenda que você defina esse valor como 1 MB ou menos.

    O valor inserido neste campo deve ser menor que o valor inserido no campo Bytes da mensagem absoluta.

    Tamanho do intervalo do instantâneo Define o número de MB pelo qual um snapshot é obtido.
  4. Clique em Atualizar.
    As definições atualizadas são salvas.

Exibir Configurações do Serviço de Pedidos

Você pode exibir as definições de serviço de pedido do fundador que foram importadas para a instância do Oracle Blockchain Platform de um participante.

Se o fundador alterar as configurações do serviço de pedido, as novas configurações deverão ser transferidas para o participante, conforme descrito em Participar do Participante ou OSNs Reduzidos para o Serviço de Pedidos do Fundador. Se houver aplicativos em execução na rede, esses aplicativos deverão ser atualizados manualmente para usar as configurações revisadas do serviço de pedidos.
  1. Vá até a console do participante e selecione a guia Rede.
  2. Clique em Solicitando Definições de Serviço e clique em Exibir.
    A caixa de diálogo Configurações de prescrição é exibida.