[ 
https://issues.apache.org/jira/browse/S4-24?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13152094#comment-13152094
 ] 

Matthieu Morel commented on S4-24:
----------------------------------

After getting valuable feedback from Kishore, I added some improvements to the 
deployment manager. 

I also added support for fetching S4Rs through HTTP (implemented with Netty).

Updates are published here : 
https://github.com/matthieumorel/s4-piper/tree/deployment-manager 

Leo, note that I kept an intermediate step through a temporary file when 
fetching S4Rs. Indeed, passing around file streams is possible but complexifies 
the code for maintaining and closing those streams. In addition, this module is 
just for loading applications and it has no impact on the performance of the 
applications, thus I don't see a strong need for skipping that intermediate 
step, at least for now.

                
> Dynamic deployment of S4 applications from a remote repository
> --------------------------------------------------------------
>
>                 Key: S4-24
>                 URL: https://issues.apache.org/jira/browse/S4-24
>             Project: Apache S4
>          Issue Type: Sub-task
>    Affects Versions: 0.5
>            Reporter: Matthieu Morel
>            Assignee: Matthieu Morel
>             Fix For: 0.5
>
>
> Use case:
> - at startup or during runtime, s4 nodes are notified of new applications 
> available. The code for these applications is fetched from a remote 
> repository, installed on S4 nodes, and the applications are started 
> automatically.
> How does it work?
> - Zookeeper is used for coordination: when a new app is available, it creates 
> a new znode under /s4-cluster-name/apps/app1
> - S4 nodes are notified of this new znode, which contains the s4r URI as 
> metadata
> - S4 nodes can then fetch the s4r, copy it to a local directory and start it
> - we also need a facility to create the app into Zookeeper, along with 
> required metadata
> For a first milestone, I suggest:
> - a simple file system based repository (can be a distributed file system)
> - deployment only, no unloading
> Later we can add extensions:
> - We could provide various repository clients, depending on the protocol 
> specified, and on the level of trust of the repository (although for a first 
> version, we would just provide a simple mechanism and assume a trustworthy 
> environment).
> - more metada in the application znode, in order to control the state of the 
> app, a time to start / stop, a number of nodes, nodes requirements etc...
> I'll start working on a first implementation, and I'm eager to receive 
> suggestions. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to