-
Notifications
You must be signed in to change notification settings - Fork 0
Architecture
Following document describes the architecture of Cempaka Cyclone application.
Cyclone application works in a three-tier architecture. The Cyclone UI component is responsible for the presentation and cluster management. Cyclone daemon component can run on multiple machines and is communicating with the Cyclone UI using REST API. It is responsible for executing and monitoring the tests. Each Cyclone daemon can spawn multiple test workers which are communicating directly to it's master daemon by UDP custom protocol. The data tier is build on top of the PostgreSQL and is used to preserve data and as a communication system between multiple daemons.
Each test is executed in a separate JVM. This makes it independent of each other and the daemon. Because of that each test have its own lifecycle and can have its own dependencies. The workers are communicating with the entire cluster only through master daemon which started them. The communication is done through local UDP port. All test information's like metrics, logs and execution statistics are sent to the daemon, saved to the database, and they become available through any daemon API.
For small setups single PostgreSQL instance should be completely enough. The latency between daemon and database does not have any effect on the tests which are running inside separate workers.