[ 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)