Skip to content
This repository has been archived by the owner on May 27, 2020. It is now read-only.

Architecture

Alberto Rodriguez edited this page May 9, 2017 · 4 revisions

The main idea behind Khermes is to run nodes that produce messages. These nodes should be increased or decreased depending on the needs of the user. For this reason we thought it could be a good idea to use an Akka cluster. The khermes architecture can be summarized in these points:

  • Each Akka cluster node will receive messages to perform operations such as configure the khermes engine, start, and stop the data generation. To start the data generation a node will need three things:
    • A Khermes configuration. This configuration will set, for example, where the templates will compile, i18n, etc.
    • A Kafka configuration. This configuration will set Kafka parameters. You can see the official Kafka documentation to get more specific information.
    • A Twirl template. A template that will define the data that khermes will generate automatically for you.
    • All configurations will be persisted within Zookeeper, that way you might reuse it where you stop and restart your khermes cluster (for this reason it is mandatory to have a running instance of zookeeper in our system).

See below a khermes architecture diagram:

khermes-architecture

Clone this wiki locally