Norbert est un bon exemple à partir d'une solution évolutive système de production. J'en général, il s'intègre Netty, Protocol Buffers et Zookeeper
dans un léger cadre pour l'exécution des services de cluster. Protocole Tampons sont utilisés pour spécifier votre service API, Netty implémente la couche de transport des abstractions et de la Gardienne d'animaux est essentiellement une tolérance de panne de découverte de service.
Chaque fois qu'une instance de service est démarré Norbert enregistre comme disponibles instance d'un type de service. De la mise en œuvre de la perspective, il crée deux Zookeeper arbres:
- "/Nom_service/membres" qui répertorie toutes les instances connues du service
- "/Nom_service/disponible" qui répertorie actuellement disponibles instances du service
La propriété la plus importante pour chaque nœud est l'url à utiliser pour se connecter à la correspondante de l'instance de service. Il permet à côté client équilibrage de la charge sur un Norbert client trouve la liste des url pour un service donné le nom et essayez de vous connecter à l'un d'eux est de l'ordre (par exemple, round-robin ou aléatoire).