[
https://issues.apache.org/jira/browse/SLING-10208?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Timothee Maret reassigned SLING-10208:
--------------------------------------
Assignee: Timothee Maret
> JCR based implementation of the Distribution messaging API
> ----------------------------------------------------------
>
> Key: SLING-10208
> URL: https://issues.apache.org/jira/browse/SLING-10208
> Project: Sling
> Issue Type: New Feature
> Components: Content Distribution
> Reporter: Timothee Maret
> Assignee: Timothee Maret
> Priority: Major
>
> [Journal based Content
> Distribution|https://github.com/apache/sling-org-apache-sling-distribution-journal]
> persists messages in an append only journal of message. The interaction with
> the log go through a fairly small [messaging
> API|https://github.com/apache/sling-org-apache-sling-distribution-journal-messages]
> for which we currently ship an [implementation for Apache
> Kafka|https://github.com/apache/sling-org-apache-sling-distribution-journal-kafka].
> The Kafka implementation is usable, for instance
> [here|https://github.com/tmaret/distribution.kafka.demo] but it requires a
> Kafka cluster which limits makes it harder to use in integration tests. This
> also prevent including the Journal based Content Distribution in the [Apache
> Sling stater
> project|https://github.com/apache/sling-org-apache-sling-starter].
> To solve this issue, we could implement the messaging API (and thus the
> journal) exclusively on the repository.
> h2. How
> The journal will be persisted on author and exposed to clients via a REST
> API. The journal could be backed by a "passive" Sling Job queue (an ORDERED
> queue without JobConsumer).
> Monotonically increasing offsets could be implemented using Apache [Oak
> Atomic
> Counter|https://jackrabbit.apache.org/oak/docs/features/atomic-counter.html ]
> if and only we limit to non clustered author deployments.
> Time based retention could be implemented by a periodical task that goes
> through the queue and remove old items.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)