Experimenting with CurveZMQ in different languages.
The core question of the experiment is to see, whether different languages can interoperate securely via ZeroMQ.
Build & example output: see master branch in
- for simplicity: as a Docker Compose config
- keys generated via a simple python script: generate_certificates.py
- server public key distribution via simple copying into the containers
- ZeroMQ communication via TCP + CurveZMQ (Stonehouse pattern)
- Requests sent on port 7777, and returned on 7778
- The push socket does task distribution to the workers (Divide and conquer pattern)
- Timeouts are (currently) used to stop the demo after the server sends a finite amount of requests
Senderactor to send sample requests at regular intervals on port7777Receiveractor to receive responses on port7778Printeractor to serialize printing to consoleWorkeractor to testpony-zmqin a round-trip (pulling on port7777, pushing on port7778)
- polling with a timeout
- pulling on port
7777, pushing on port7778
7777/7778
- preparing dependencies for jzmq failed → using jeromq
7777/7778
7777/7778
