Spring Cloud Zookeeper

2.0.1

Spring Cloud Zookeeper provides Apache Zookeeper integrations for Spring Boot apps through autoconfiguration and binding to the Spring Environment and other Spring programming model idioms. With a few simple annotations you can quickly enable and configure the common patterns inside your application and build large distributed systems with Zookeeper. The patterns provided include Service Discovery and Distributed Configuration.

Features

  • Service Discovery: instances can be registered with Zookeeper and clients can discover the instances using Spring-managed beans

  • Supports Ribbon, the client side load-balancer via Spring Cloud Netflix

  • Supports Zuul, a dynamic router and filter via Spring Cloud Netflix

  • Distributed Configuration: using Zookeeper as a data store

Quick Start

As long as Spring Cloud Zookeeper, Apache Curator and the Zookeeper Java Client are on the classpath any Spring Boot application with @EnableDiscoveryClient will try to contact a Zookeeper agent on localhost:2181 (the default value of zookeeper.connectString).

@Configuration
@EnableAutoConfiguration
@EnableDiscoveryClient
@RestController
public class Application {

  @RequestMapping("/")
  public String home() {
    return "Hello World";
  }

  public static void main(String[] args) {
    SpringApplication.run(Application.class, args);
  }

}

A local Zookeeper server must be running. See the Zookeeper documentation on how to run a Zookeeper server.

Quick start

Bootstrap your application with Spring Initializr.

Documentation

Each Spring project has its own; it explains in great details how you can use project features and what you can achieve with them.
2.0.1 SNAPSHOT CURRENT Reference Doc. API Doc.
2.0.0 CURRENT GA Reference Doc. API Doc.
1.2.3 SNAPSHOT CURRENT Reference Doc. API Doc.
1.2.2 CURRENT GA Reference Doc. API Doc.
1.1.3 GA Reference Doc. API Doc.
1.1.2 SNAPSHOT Reference Doc. API Doc.
1.1.1 CURRENT GA Reference Doc. API Doc.
1.0.4 SNAPSHOT Reference Doc. API Doc.
1.0.3 GA Reference Doc. API Doc.
Greenwich M1 PRE CURRENT Reference Doc. API Doc.

A few examples to try out: