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

Reply via email to