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

Leo Neumeyer commented on S4-24:
--------------------------------

Matthieu, Kishore:

Is there any scenario under which a node can get out of sync? That is, not 
having exactly the same set of applications loaded. The most important 
requirement, I think, is to make sure all failures are atomic so we make it 
impossible for nodes to have different code. The nice thing about the symmetric 
approach is that code in all nodes is always the same. The dynamic loading is 
the only weak point that can break symmetry so we should make sure it is super 
robust. I assume ZK can always know that all the apps were successfully loaded, 
and if not, consider the node failed.

great stuff!
-leo

                
> 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