Uso no mundo real do tratador de zoológico [fechado]

122

Eu estive olhando o Zookeeper recentemente e me perguntei se alguém o estava usando atualmente e o que eles estavam usando especificamente para armazenar.

O caso de uso mais comum é para informações de configuração, mas que tipo de dados e quantos dados você está armazenando?

Jon
fonte
3
Ele faz parte do grupo de tecnologias Hadoop, há um caso de uso do Yahoo aqui bastante bom - developer.yahoo.net/blogs/hadoop/2009/05/…
Jon
Não sei as especificidades de como ele é usado, mas sei que a versão mais recente do HBase (uma implementação de BigTable de código aberto) usa o ZooKeeper.
Leo P
10
Esta pergunta tem mais votos positivos do que todas as respostas combinadas. O tratador precisa de um wiki melhor de uso.
mixdev
1
Confira como a Netflix a usa. github.com/Netflix/curator/wiki/Recipes Curator é a biblioteca de invólucros da Netflix para o ZK.
eSniff
Confira este artigo: stackextend.com/zookeeper/…
Mouad EL Fakir 16/01

Respostas:

13

A implementação do DOSGi no Apache CXF usa o zookeeper para seu repositório de registro de serviço. Os contêineres individuais têm um pacote de software distribuído (dsw) que escuta todos os eventos de serviço e quando um status de serviço é alterado e possui uma propriedade indicando distribuição. O dsw conversa com o pacote de descoberta que, no caso de implementação de referência, usa o zookeeper para armazenar o serviço como nós efêmeros. Outras instâncias procurarão alterações na estrutura do nó e registrarão proxies em seus sistemas locais. O resultado final é que você pode codificar para OSGi simples e terminar com uma distribuição transparente.

John Ellinwood
fonte
17

Projetos de software livre com o ZooKeeper:

Projetos Apache Powered by ZooKeeper:

Fonte: https://cwiki.apache.org/confluence/display/ZOOKEEPER/PoweredBy

dln385
fonte
17

O HBase usa o Zookeeper para coordenar atividades pelas quais seu "nó principal" era responsável antes da versão atual. A mudança para o uso do Zookeeper significa que o controle central não é mais um único ponto de falha.

O tratador é muito versátil; Aqui está um exemplo de como usá-lo para criar uma fila simultânea distribuída:

http://blog.cloudera.com/blog/2009/05/05/building-a-distributed-concurrent-queue-with-apache-zookeeper/

Obviamente, você também pode usá-lo para criar bloqueios de recursos, etc., em um sistema distribuído.

SquareCog
fonte
14

Pergunta antiga, mas como essa página aparece primeiro em uma pesquisa no Google por casos de uso de tratadores, achei que seria melhor fornecer uma listagem atualizada

  1. wikipedia
  2. wiki zookeeper
  3. usuários reais
manku
fonte
o link 'usuários reais' não existe mais :(
ginna 9/09/19
10

Norbert é um bom exemplo de um sistema de produção escalável. Em geral, ele integra Netty, Protocol Buffers e Zookeeper em uma estrutura leve para a execução de serviços em cluster. Os buffers de protocolo são usados ​​para especificar a API de serviço, o Netty implementa abstrações da camada de transporte e o Zookeeper é essencialmente um serviço de descoberta tolerante a falhas.

Sempre que uma instância de serviço é iniciada, Norbert a registra como instância disponível de um tipo de serviço específico. Da perspectiva da implementação, ele cria duas árvores do Zookeeper:

  • "/ ServiceName / members", que lista todas as instâncias conhecidas do serviço
  • "/ ServiceName / available", que lista as instâncias atualmente disponíveis do serviço

A propriedade mais importante para cada nó é o URL a ser usado para se conectar à instância de serviço correspondente. Permite o balanceamento de carga no lado do cliente - um cliente Norbert encontra a lista de URLs para um determinado nome de serviço e a tentativa de conectar-se a um deles é de alguma ordem (por exemplo, round-robin ou aleatório).

ndolgov
fonte
6

Há um bom artigo ZooKeeper - O rei da coordenação sobre o ZooKeeper no Elastic Cloud.

Na Found, por exemplo, usamos o ZooKeeper extensivamente para descoberta, alocação de recursos, eleição de líderes e notificações de alta prioridade. Neste artigo, apresentaremos a você esse rei da coordenação e veremos de perto como usamos o ZooKeeper no Found

herodot
fonte
5

Solr também está trabalhando para integrar o ZooKeeper . Aqui você pode ver que eles estão usando para configuração dinâmica, fragmentação, eliminação de SPOF (eleição de mestre / escravo), reequilíbrio etc.

phunt
fonte
3
  • O Storm é usado por várias empresas (o Twitter e o Groupon são dois dos mais conhecidos) e conta com o Zookeeper.
  • O Kafka é usado pelo Linkedin e conta com o Zookeeper.

O Storm usa o Zookeeper para armazenar todos os estados, para que possa se recuperar de uma interrupção em qualquer um de seus serviços de componentes (distribuídos).

Isso permite que os serviços do componente sejam apátridas e simplesmente baixem ou sincronizem com os servidores do Zookeeper quando forem necessários dados de configuração. Se você já teve que recuperar um servidor de produção, saberá que dor de cabeça pode ser essa!

Os consumidores da fila Kafka podem usar o Zookeeper para armazenar informações (marca d'água alta) sobre o que foi consumido na fila.

Thomas Bratt
fonte
2

No meu caso, estamos armazenando arquivos de configuração no conjunto zookeeper para uso do cluster. Estamos usando o esquema líder -> seguidor. Então, quando um tratador está desativado, somos trocados por outro (modo replicado)

Oleksandr Kovtunenko
fonte
2

O Zookeeper foi usado para muitas outras coisas além da configuração. Aqui está uma lista oficial de primitivas distribuídas de implementos usando o zookeeper.

https://zookeeper.apache.org/doc/current/recipes.html

liheyuan
fonte
que apontam não funciona
Viren
1

O datomic usa o apache zookeeper para gerenciar o armazenamento de dados baseado em riak.

Como o Riak suporta apenas consistência eventual no momento, um sistema Datomic em execução no Riak também utiliza o Apache ZooKeeper, um serviço de coordenação altamente disponível. O Datomic usa o ZooKeeper para coordenação de failover do transator e para as poucas chaves por banco de dados que precisam ser atualizadas com o CAS. fonte: http://blog.datomic.com/2012/11/riak-and-couchbase-support.html

mavbozo
fonte
0

Aqui estão alguns detalhes de como o HBase usa o ZooKeeper , incluindo informações sobre como eles pretendem usá-lo no futuro. Geralmente eles o utilizam para eliminar o SPOF nos servidores da região através da eleição do Leader implementada usando o ZooKeeper.

phunt
fonte