Changeset View
Changeset View
Standalone View
Standalone View
docs/storage/remote.rst
Show First 20 Lines • Show All 396 Lines • ▼ Show 20 Lines | |||||||||||
The remote storage worker consume messages published in the RabbitMQ | The remote storage worker consume messages published in the RabbitMQ | ||||||||||
broker by the remote storage clients, and proceed to perform the actual | broker by the remote storage clients, and proceed to perform the actual | ||||||||||
writing operations to a local storage object (ie. | writing operations to a local storage object (ie. | ||||||||||
``ProvenanceStorageMongoDb`` or ``ProvenanceStoragePostgreSql``). Each | ``ProvenanceStorageMongoDb`` or ``ProvenanceStoragePostgreSql``). Each | ||||||||||
worker process messages associated to a particular entity and range ID. | worker process messages associated to a particular entity and range ID. | ||||||||||
It is the client’s responsibility to properly split data along messages | It is the client’s responsibility to properly split data along messages | ||||||||||
according to the remote storage server policy. | according to the remote storage server policy. | ||||||||||
Since there is overlapping between methods in the | Since there is overlapping between methods in the | ||||||||||
``ProvenanceInterface`` operating over the same entity, one worker may | ``ProvenanceStorageInterface`` operating over the same entity, one worker | ||||||||||
have to handle more than one method to guarantee conflict-free writings | may have to handle more than one method to guarantee conflict-free | ||||||||||
to the underlying storage. For instance, consider the ``content`` | writings to the underlying storage. For instance, consider the | ||||||||||
entity, for a given ID range, methods ``content_add`` and | ``content`` entity, for a given ID range, methods ``content_add`` and | ||||||||||
``relation_add`` with ``relation=CNT_EARLY_IN_REV`` may conflict. Is the | ``relation_add`` with ``relation=CNT_EARLY_IN_REV`` may conflict. It is | ||||||||||
worker’s responsibility to solve this kind of conflicts. | the worker’s responsibility to solve this kind of conflicts. | ||||||||||
ardumontUnsubmitted Done Inline Actions
ardumont: | |||||||||||
To initialize a server object it is required to provide two mandatory | To initialize a server object it is required to provide two mandatory | ||||||||||
parameters: | parameters: | ||||||||||
- ``url``: the URL string of the broker where the server expects to | - ``url``: the URL string of the broker where the server expects to | ||||||||||
receive the packages. | receive the packages. | ||||||||||
- ``exchange``: the RabbitMQ exchange to which the worker will | - ``exchange``: the RabbitMQ exchange to which the worker will | ||||||||||
subscribe. See ``ProvenanceStorageRabbitMQServer``\ ’s ID range | subscribe. See ``ProvenanceStorageRabbitMQServer``\ ’s ID range | ||||||||||
▲ Show 20 Lines • Show All 305 Lines • Show Last 20 Lines |