Gerenciar Serviço de Ordenamento

Este tópico contém informações sobre como 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 Hyperledger Fabric do protocolo Raft, consulte: O Serviço de Pedidos - Raft.

Com o tipo de consenso mais antigo do Kafka, toda a rede pode ter no máximo dois nós solicitantes e eles precisam se juntar a todos os canais. Em alguns casos, eles podem estar sobrecarregados e não podem ser reduzidos. 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 solicitante diferentes, e nós de solicitante 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 são seguidas pelo canal e até mesmo a rede pode não funcionar. As seguintes diretrizes devem reduzir os problemas encontrados:

Manter Ativa a Maioria dos Nós de Serviço de Pedido (OSN)

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 de OSNs trabalhando no canal do aplicativo, nenhuma transação poderá ser enviada para este canal do aplicativo. As consultas ainda podem funcionar corretamente; no entanto, as operações administrativas, como adicionar uma nova organização, alterar a lista de controle de acesso ou instanciar ou implantar chaincodes, 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 a OSN é robusta.

Ao remover OSNs ou uma organização, certifique-se de que mais de 50% dos OSNs permanecerão funcionando. Por exemplo, se você tivesse 2 organizações com 3 OSNs cada, se você remover uma organização, durante a remoção ela seria interpretada como apenas 50% dos 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 um novo OSN for adicionado a uma rede ou canal, ou um OSN existente for removido de um canal, o cluster atual do Raft OSN 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ê tiver removido o OSN do líder da Raft anterior do canal, isso poderá durar até 20 minutos.

Certifique-se de que você não esteja 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 Junte-se aos OSNs Participantes ou Escalonados ao Serviço de Pedidos do Fundador até a conclusão ou o fundador não poderá gerenciar a rede.

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

Quando você provisiona uma instância de participante, ela é criada com 3 solicitantes. Os solicitantes ficam inativos até que sejam unidos a uma rede. Quando você amplia um fundador, os novos solicitantes também ficam inativos até que sejam unidos 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 os solicitantes de Raft.

Exportar as Definições do OSN dos Solicitantes Participantes ou Escalonados

Para se juntar aos solicitantes participantes ou escalonados 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 reduzidos), 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 do OSN.

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

    Os aplicativos que estão sendo executados em canais usando este OSN também exigem este 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 os solicitantes participantes ou escalonados forem adicionados ao fundador, você precisará exportar as configurações do fundador e importá-las para o solicitante participante ou 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 mais recente do canal do sistema. Isso pode ser salvo e enviado ao administrador do participante.

  2. Na console do participante (ou na console do fundador para solicitantes reduzidos), 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 informar o arquivo enviado pelo administrador da instância do fundador.

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

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

Cada vez que um novo OSN é adicionado ao dimensionar 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 para a instância do fundador.

Observe as seguintes informações importantes sobre como editar as configurações do serviço de solicitaçã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 para canais existentes individuais, conforme descrito em Editar Definições de Serviço de Ordenamento para um Canal.
  • Se você alterar as configurações de serviço de pedido e houver aplicativos em execução na rede, esses aplicativos deverão ser atualizados manualmente para usar as configurações de serviço de pedido revisadas.
  • Não é comum, mas em algumas situações, você pode expor um serviço de pedidos diferente para 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 Participantes ou Escalonados no Serviço de Pedidos do Fundador.
Você deve ser administrador para executar esta tarefa.
  1. Vá até a console do fundador e selecione a guia Rede.
  2. Clique no botão Configurações do Serviço de Pedido.
    A caixa de diálogo Definições do Serviço de Pedido é exibida.
  3. Atualize as definições conforme necessário.
    Campo Descrição
    Timeout do Batch (ms) Especifique o tempo em milissegundos que o sistema deve aguardar antes de criar um batch. Informe um número entre 1 e 3600000.
    Número Máximo de Mensagens Especifique o número máximo de mensagens a serem incluídas em um lote. Informe um número entre 1 e 4294967295.
    Bytes de Mensagem Absoluta Especifique o número máximo de bytes permitidos para as mensagens serializadas em um lote.

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

    Bytes da Mensagem Preferencial Especifique o número preferencial de bytes permitido para as mensagens serializadas em um lote. 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 especificados no campo Bytes de 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 de mensagem absoluta.

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

Exibir Definições de Serviço de Pedido

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 dos OSNs Participantes ou Escalonados 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 solicitação.
  1. Vá até a console do participante e selecione a guia Rede.
  2. Clique em Definições do Serviço de Pedido e clique em Exibir.
    A caixa de diálogo Ordering Settings (Configurações de prescrição) é exibida.