• Database proxy.

  • Used to persist (cache) state from gateways.

  • The multicast/UDP communication protocol supports distributed deployment such that any number of proxies can each persist (and de-duplicate) updates thereby favouring speed.

  • Messages are persisted to local filesystem to support redundancy and recovery.

Specifically designed to support low-latency persistence of client order-id mappings (routing_id) as required by some FIX use-cases.


$ mamba install \
  --channel \
$ roq-journal \
      --name "journal-1"


$ roq-journal --help


Service name.

    • --multicast_port

    • Multicast port.

    • --multicast_address

    • Multicast address (IPv4).

    • --local_interface

    • Local interface (IPv4).


Database URI.


Database username.


Database password.


Database name.


Create database?


Database request timeout, e.g. 5s


Database ping frequency, e.g. 30s


Database ping path


For how long (since most recent update time) should cache files be retained for?

    • --cache_dir

    • Cache directory.

    • --cache_datasync

    • Issue a filesystem datasync for certain messages?

    • --cache_datasync_before_respond

    • Issue the filesystem datasync before responding?

    • --cache_retain_for

    • For how long (since creation -time) should cache files be retained for?


Timer frequency, e.g. 2000ns.


Sleep time, e.g. 500ns.