Gerenciar Serviço de Ordenamento
Este tópico contém informações sobre como os fundadores e participantes gerenciam o serviço de pedidos.
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
- 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
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.
-
Na console do participante (ou na console do fundador para solicitantes escalonados), na guia Nó, 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.
-
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.
-
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.
-
Na console do participante (ou na console do fundador para solicitantes escalonados), na guia Nó, 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.
-
Na console do participante, atualize a guia Nó. 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.
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.
- 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.
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.