To use Artillery, you need to evaluate your requirements for distributed operation very carefully. Every layer in artillery is usable modularly. Artillery uses "Take it or leave it" approach. If you don't need it you don't include.
Artillery consists of various layers. Layers can have various consistency degree and capability model.
Artillery layers are build on top each other. Most basic layer is
Core layer contains various prepared cluster configurations.
Currently it is supporting:
In addition to cluster modes, it contains primitives to build your own cluster structures for your own designated environment.
cluster: Prepared self-healing cluster structures
epidemic: Infection style clustering
service_discovery: Service discovery types
mdns: MDNS based service discovery
udp_anycast: UDP Anycast based service discovery (aka Bastion's core carrier protocol)
You might want to pass by the distributed configuration part and directly looking forward to have a distributed data primitives. Like replicating your local map to some other instance's local map etc.
This is where
Ddata package kicks in.
Ddata supplies the most basic distributed data dissemination at the highest abstraction level.
artillery-ddata: Used for distributed data replication
This layer is specifically build for Bastion and it's distributed communication. It contains a Hierarchy Management protocol. This protocol manages remote processes, links as well as their state.
artillery-hierman: Supervision hierarchy management layer