/zipkinpoc

Todo Web app with Zipkin proof-of-concept

Primary LanguageJava

OpenZipkin PoC

Motivation of this small project was to test Zipkin by setting up a test environment where multiple parts of an application would report to Zipkin in different phases of request execution.

Overall picture of the application

The components

Application

Zipkin

Official Zipkin docker setup configured with:

  • Kafka as transport
  • Cassandra as storage

Installation

Currently the scripts assume that you are running under Mac OS X and that you have certain prerequisites installed (making it run under Linux would not be a big problem).

Install prerequisites:

  1. Install Homebrew

  2. Run following command

     brew install gnu-sed cassandra maven git
    

Execute one-time setup to download and compile cassandra zipkin module, zipkin docker compose scripts and the todo application used for testing:

./setup.sh

Optional: Install Google Chrome zipkin plugin or

To run everything

Run this. It will start Zipkin + Kafka + Cassandra:

./run_zipkin.sh

In another console run this. This will create another instance of Cassandra accessible in the port 9043 (normally Cassandra uses 9042):

./run_app_cassandra.sh

After you have confirmed that application cassandra is up, run the app (this will create schema and everything):

./run_app.sh

Application is now running at http://localhost:8080/web.

Zipkin UI is running at http://localhost:9411/

Optional: Configure Google Chrome Zipkin plugin.