1. Gerenciamento de demanda de configuração é consistência de dados
O ZooKeeper usa uma combinação de push and pull: o cliente registra o nó necessário para prestar atenção ao servidor.Depois que os dados do nó forem alterados, o servidor enviará uma notificação de evento do Watcher ao cliente correspondente. Após a notificação da mensagem, você precisa tomar a iniciativa de acessar o servidor para obter os dados mais recentes.
2. Serviço de Nomeação
O serviço precisa ser acessado, como a URI fornecida pelo serviço, mas a URI é variável, portanto, é necessário atribuir um nome fixo à URI alterada e obter a URI do serviço sempre com esse nome.
O Zookeeper permite que o serviço crie um nó, o nome do nó é o nome do serviço e os dados são uri. Dessa forma, a nomeação é concluída.
3. Balanceamento de carga
1) Carregar registro / atualizar-carregar ip: a porta pode ser salva nos dados temporários do nó do tratador e tem consistência
2) Verificação de integridade do carregamento - Para o carregamento offline, o nó temporário criado por ele é excluído automaticamente e os dados da porta ip: também são excluídos.
3) Despacho de carga - obtenha todos os nós temporários no nó de carga e use o algoritmo de balanceamento de carga para selecionar uma carga
Eleição 4.master
O cluster do cliente é criado regularmente no ZooKeeper.-Um nó temporário, como / master_ eleição /
20/09/2013 / encadernação. Nesse processo, apenas um cliente pode criar com êxito esse nó e, em seguida, este;
A máquina onde o cliente está localizado se torna o Mestre. Ao mesmo tempo, outros convidados que não criaram um nó no ZooKeeper com êxito.
O cliente registrará um observador com uma alteração de nó filho no nó / master_ eleição / 2013-09-20.
Monitore se a máquina principal atual está ativa, uma vez que se verifique que o mestre atual trava, os clientes restantes
Irá executar novamente a eleição do Mestre.
5. Bloqueio distribuído
Quando um bloqueio exclusivo precisar ser adquirido, todos os clientes tentarão chamar a interface create ().
Crie um nó filho temporário / exclusive_ lock / lock no nó / exclusive_ lock.Também introduzimos nas seções anteriores,
O ZooKeeper garantirá que em todos os clientes, apenas um cliente possa ser criado com sucesso, e você poderá
Considera-se que o cliente adquiriu o bloqueio. Ao mesmo tempo, todos os clientes que não adquiriram o bloqueio precisam ir para a seção / exclusive_lock
Clique para registrar um monitoramento do Watcher de uma alteração de nó filho, para monitorar a alteração do nó de bloqueio em tempo real.