Norbert è un buon esempio da un sistema di produzione scalabile. In generale, integra Netty, Protocol Buffers e Zookeeper in un framework leggero per l'esecuzione di servizi cluster. I buffer del protocollo sono utilizzati per specificare l'API del servizio, Netty implementa le astrazioni del livello di trasporto e Zookeeper è essenzialmente un servizio di rilevamento fault-tolerant.
Ogni volta che viene avviata un'istanza di servizio, Norbert la registra come istanza disponibile di un particolare tipo di servizio. Dal punto di vista dell'attuazione, crea due alberi Zookeeper:
- "/ ServiceName/soci" che elenca tutti i casi noti del servizio
- "/ NomeServizio/disponibile" che elenca i casi attualmente disponibili del servizio
La proprietà più importante per ogni nodo è l'URL da utilizzare per connettersi all'istanza del servizio corrispondente. Abilita il bilanciamento del carico sul lato client: un client Norbert trova l'elenco di URL per un determinato nome di servizio e tenta di connettersi a uno di essi è un certo ordine (ad esempio round-robin o random).
Fa parte del gruppo di tecnologie Hadoop, c'è un caso d'uso da Yahoo qui che è abbastanza buono - http://developer.yahoo.net/blogs/hadoop/2009/05/using_zookeeper_to_tame_system.html – Jon
Questa domanda ha più voti di tutte le risposte combinate. Zookeeper ha bisogno di un wiki migliore per l'uso. – mixdev
Scopri come Netflix lo utilizza. https: // GitHub.it/Netflix/curator/wiki/Recipes Curator è la libreria di wrapper di Netflix per ZK. – eSniff