rattail-manual/docs/data/sync/overview.rst
2022-04-06 17:02:43 -05:00

26 lines
1 KiB
ReStructuredText

==========
Overview
==========
Rattail provides a "datasync" daemon, which is meant to run in the
background and handle automatic sync of data between systems in "near
real-time".
The datasync daemon will "watch" some system(s) for changes, and any
found are then "consumed" by other system(s). The daemon spawns a
separate thread for each watcher, as well as for each consumer. There
is no limit to how many watchers or consumers you configure, beyond
machine resources etc.
Whereas an importer can be thought of as a "full sync" between systems
(see :doc:`../importing/index`), the datasync is more of a "single
record sync" - where each record changed in a given system, will be
synced individually to the consumer system(s).
Each datasync consumer ideally will "correspond" to, and leverage, an
existing importer (or exporter). The consumer may need some extra
logic to facilitate this, but then the importer can be responsible for
the actual record sync. This means the actual "sync" logic is defined
only once, and is effectively shared.