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

Dominic Hamon commented on MESOS-2130:
--------------------------------------

I really like this idea. I like it from a discovery point of view (not needing 
to track the leading master) and the simplification of the slave endpoint. My 
concern is that this will increase the load on the master process as it needs 
to route everything. We have no notion of prioritisation in the endpoints so 
this could result in the Master process not being able to process other 
messages.

Even if this is a separate libprocess Process, it will still need to dispatch 
to the Master process to get the list of slaves and their IPs. Unless the proxy 
process maintains its own list of Slaves, which then adds a layer of 
complication over ownership of the slave information.

One final thought: If we abstract the knowledge of Slaves from the Master 
process to a different management Process, and then the Proxy and Master can 
use this as the source of truth, it might simplify things and reduce the load.

(sorry, i've thought about this quite a bit)

> Allow prefix routing of paths in libprocess
> -------------------------------------------
>
>                 Key: MESOS-2130
>                 URL: https://issues.apache.org/jira/browse/MESOS-2130
>             Project: Mesos
>          Issue Type: Improvement
>          Components: libprocess
>            Reporter: Cody Maloney
>            Assignee: Cody Maloney
>
> Currently libprocess can only route to UPIDs, and then within the upids one 
> top level "command". Ideally you can attach C++ endpoints to arbitrary paths, 
> including taking everything that matches a prefix:
> Ex:
> /slaves/:slave_id/ could proxy to an individual slave
> /slaves/ 
>  - Alias for /slave(1) if only one slave
> /slaves/{number} 
>  - point to an individual slave rather than requiring people to properly 
> encode () in urls.
> /proxy/go/master-leader/files/browse.json
>  - The endpoint would be /proxy/go, and then it internally processes the 
> request to find the host it should go to (What is the IP for the currently 
> elected master?) and then forwards the rest of the path to the target machine.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to