Gerenciar Serviço de Ordenamento
Este tópico contém informações sobre como 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 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)
- 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
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.
-
Na console do participante (ou na console do fundador para solicitantes reduzidos), 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 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.
-
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.
-
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.
-
Na console do participante (ou na console do fundador para solicitantes reduzidos), 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 informar o arquivo enviado pelo administrador da instância do fundador.
-
No console do participante, atualize a guia Nó. 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.
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.
- 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.
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.