Richard Searle

home

Exercising Akka via blockade and docker

16 Jun 2014

This project provides a useful example of how to deploy an Akka cluster into docker.

Akka provides sophisticated testing tools. It could be argued that the test environment is not the same as a real deployment, and hence do not necessarily reflect the true behavior. This would be particularly true for code that manages network failures.

blockade provides a simple mechanism to run several docker instances and control their network connectivity. The above project can be run under blockade, using the following blockade.yml file

containers:
  c1:
    image: clustering
    ports: [10000]

  c2:
    image: clustering
    links: {"c1":"seed"}

  c3:
    image: clustering
    links: {"c1":"seed"}

A noisy network connection to c2 could then be simulated by blockade flaky c2, or a partition by blockade partition c1,c2 c3.