Hi Ioan,

As Robert already mentioned SCD is heavily dependent on Sling and OSGI.

However, in your use case you could still leverage SCD by using it on author 
and implement a thin importer on publish.

1. use SCD forward agent on author that will point to your custom importers on 
publish.
2. Implement your own thin importer http service on publish (it should just be 
able to receive and install a vault package). (some older, but smaller 
versions, of the importing part can be found in [1] and [2]).

Marius

[1] 
https://github.com/apache/sling-org-apache-sling-distribution-core/blob/1455f191ded8b1336b007259bd7fee7d93c549f8/src/main/java/org/apache/sling/distribution/servlet/DistributionPackageImporterServlet.java
[2] 
https://github.com/apache/sling-org-apache-sling-distribution-core/blob/319b5e7d1b621507d4dd451cea22e6759cbc0a43/src/main/java/org/apache/sling/distribution/serialization/impl/vlt/FileVaultContentSerializer.java#L106


On 2/21/18, 4:10 PM, "Ioan Eugen Stan" <[email protected]> wrote:

    Hello,
    
    I'm designing a distributed micro-service architecture around Sling and
    Oak. We need to be able to synchronize some parts of the repository
    across multiple services. I think that Sling Content Distribution
    bundles are a very good fit, however the applications that we have are
    not OSGI and I don't plan to use Sling with them.
    
    Does Sling Content Delivery work outside OSGI ? If it does it's a bummer
    since IMO there is potential for use cases where plain old Oak/JCR apps
    need to sync content between them. 
    
    *My use case:*
    
    We currently have around 5 services that need to access the same
    content. One service will handle authoring and we will probably use
    Sling for that. The others will sync published content and read it. The
    content is small, around 100MB, up to 1GB and is updated infrequently -
    a few times a week
    
    I don't wish for the services to share a MongoDB repo since it will make
    maintenance a bit harder to do on mongo and it will also put a lot of
    stress when doing migrations.
    
    Using a solution that distributes content with Sling Content
    Distribution we can have each application with it's own segment based
    repository and synchronize them on command (push or pull).
    
    The issue is that the services are not OSGI and we don't plan to make
    them since we don't have the resources / talent to do so.
    
    I also believe that this functionality is quite generic in nature and it
    should not be limited to Sling only.
    
    Maybe it works without full blown Sling and in that case it just needs
    some marketing ( hence this message)
    
    
    Thanks,
    
    Eugen
    
    
    
    
    

Reply via email to