I agree that get/set kinds of things is useful - especially for OPs groups. 
What if ZK had some sort of pluggable server support? Ops folks could plug in a 
simple REST server, others could plug in a Thrift server, etc.



On April 13, 2015 at 12:31:51 PM, Patrick Hunt (ph...@apache.org) wrote:

I think it depends on the use case. I've had a number of folks asking for  
the REST support, in those cases I think they are mainly interested in  
active participation (get/set rather than watches/ephemerals).  

The SPEC page has all the details on what the REST proxy currently supports.  

Patrick  

On Mon, Apr 13, 2015 at 8:35 AM, Jordan Zimmerman <  
jor...@jordanzimmerman.com> wrote:  

> How does the current REST code handle watches and background  
> notifications? Are clients required to poll periodically? This is really  
> RPC and REST is not ideal for RPC. So, as I mentioned before, I think the  
> ZK team should consider a real RPC system like Thrift instead of REST.  
>  
> -Jordan  
>  
>  
>  
> On April 11, 2015 at 1:33:03 PM, Patrick Hunt (ph...@apache.org) wrote:  
>  
> We pack quite a bit of functionality in our client side libraries. That's  
> probably one of the main things you'll noticed if you try to use REST. But  
> then if your use case is primarily configuration, or something that doesn't  
> require sessions then the current REST support should be more than  
> sufficient. What are the other systems doing that we are currently not  
> doing wrt API support?  
>  
> I'd think that taking our current rest contrib, updating the dependencies,  
> and deploying as part of the embedded jetty would work well with minimal  
> effort.  
>  
> Patrick  
>  
> On Sat, Apr 11, 2015 at 9:22 AM, Camille Fournier <cami...@apache.org>  
> wrote:  
>  
> > I agree that they have to write clients that do work, but there is  
> clearly  
> > a desire and willingness out there to do that work in exchange for a more  
> > "obvious" way of interacting. So supporting it should be something that  
> we  
> > consider if the users of such systems want the option.  
> >  
> > On Sat, Apr 11, 2015 at 12:07 PM, Jordan Zimmerman <  
> > jor...@jordanzimmerman.com> wrote:  
> >  
> > > REST has issues for end users. They will still have to write clients  
> and  
> > > do a lot of extra work. REST support is good in most languages but  
> having  
> > > native support is superior. That’s why I choose Thrift for the  
> CuratorRPC  
> > > Proxy.  
> > >  
> > > -Jordan  
> > >  
> > >  
> > > On April 10, 2015 at 9:32:47 PM, Michi Mutsuzaki (  
> mi...@cs.stanford.edu)  
> > > wrote:  
> > >  
> > > Yeah it's quite painful to manage another set of processes just for  
> > > proxying requests. I'd definitely use this if I can run it embedded in  
> > > the ZooKeeper process. I'm very excited about the idea of being able  
> > > to use curl to look at what's in ZooKeeper :)  
> > >  
> > > On Fri, Apr 10, 2015 at 6:03 PM, Patrick Hunt <ph...@apache.org>  
> wrote:  
> > > > Here's the spec and readme from contrib/rest:  
> > > >  
> > > >  
> > >  
> >  
> http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/rest/SPEC.txt?view=markup
>   
> > > >  
> > >  
> >  
> http://svn.apache.org/viewvc/zookeeper/trunk/src/contrib/rest/README.txt?view=markup
>   
> > > >  
> > > > The current implementation is a standalone proxy. It's not embedded  
> in  
> > zk  
> > > > itself. That might be part of the reason.  
> > > >  
> > > > Patrick  
> > > >  
> > > > On Fri, Apr 10, 2015 at 4:43 PM, Camille Fournier <  
> cami...@apache.org>  
> > > > wrote:  
> > > >  
> > > >> Forgive me for not reading the code, can you share in more detail  
> what  
> > > the  
> > > >> existing REST proxy provides? I'm curious why people are jumping to  
> > use  
> > > >> etcd because of ease of use w/http access if we already have  
> something  
> > > that  
> > > >> works?  
> > > >>  
> > > >> On Fri, Apr 10, 2015 at 7:28 PM, Patrick Hunt <ph...@apache.org>  
> > wrote:  
> > > >>  
> > > >> > There's the REST work in contrib. Both Andrei and I worked on that  
> > - I  
> > > >> did  
> > > >> > the basic support and Andrei added sessions and heartbeating among  
> > > other  
> > > >> > improvements.  
> > > >> >  
> > > >> > Now that 3.5 has embedded Jetty it should be much simpler to run  
> > REST  
> > > as  
> > > >> > part of the ZK service itself. When the original proxy work was  
> done  
> > > >> Jetty  
> > > >> > was not yet part of ZK.  
> > > >> >  
> > > >> > Patrick  
> > > >> >  
> > > >> > On Thu, Apr 9, 2015 at 10:20 AM, Jordan Zimmerman <  
> > > >> > jor...@jordanzimmerman.com> wrote:  
> > > >> >  
> > > >> >> Since Curator is now Apache and I'm no longer at Netflix, I don't  
> > > follow  
> > > >> >> Netflix messages very much. Sorry about that.  
> > > >> >>  
> > > >> >> -Jordan  
> > > >> >>  
> > > >> >>  
> > > >> >>  
> > > >> >> On April 9, 2015 at 12:15:02 PM, Camille Fournier (  
> > > cami...@apache.org)  
> > > >> >> wrote:  
> > > >> >>  
> > > >> >> Thanks Jordan! I actually asked on Twitter whether Netflix had  
> > > anything  
> > > >> >> but  
> > > >> >> didn't get a clear answer.  
> > > >> >>  
> > > >> >> On Thu, Apr 9, 2015 at 11:22 AM, Jordan Zimmerman <  
> > > >> >> jor...@jordanzimmerman.com> wrote:  
> > > >> >>  
> > > >> >> > FYI  
> > > >> >> >  
> > > >> >> > Curator now has a Thrift-based proxy that has all the ZK APIs  
> > > exposed  
> > > >> as  
> > > >> >> > well as Curator's added APIs and recipes:  
> > > >> >> >  
> > > >> >> > http://curator.apache.org/curator-x-rpc/index.html  
> > > >> >> >  
> > > >> >> > -Jordan  
> > > >> >> >  
> > > >> >> > On April 8, 2015 at 2:09:33 PM, Camille Fournier (  
> > > cami...@apache.org)  
> > > >> >> > wrote:  
> > > >> >> >  
> > > >> >> > All,  
> > > >> >> >  
> > > >> >> > I've been doing a bit of research on etcd as part of work for  
> an  
> > > >> >> upcoming  
> > > >> >> > talk, and it has gotten me thinking about what it would take to  
> > > create  
> > > >> >> an  
> > > >> >> > http version of ZK for certain operations. For many operations  
> > you  
> > > >> could  
> > > >> >> > put an http proxy in front of ZK to translate, even  
> implementing  
> > > the  
> > > >> >> > "long-poll-style" watch operation to some extent. But it would  
> be  
> > > very  
> > > >> >> > hard  
> > > >> >> > to do a temporary node via a proxy without a lot of proxy  
> > failover  
> > > >> >> > complexity.  
> > > >> >> >  
> > > >> >> > As a bit of background, if you want to do an "ephemeral" node  
> in  
> > > etcd,  
> > > >> >> you  
> > > >> >> > basically create a key with a TTL. Unless the key is updated  
> > with a  
> > > >> new  
> > > >> >> > TTL, the key will auto-expire when the TTL is reached. Now, I  
> > have  
> > > a  
> > > >> lot  
> > > >> >> > of  
> > > >> >> > thoughts about this (seems like you have to implement  
> heartbeats  
> > > via  
> > > >> >> http  
> > > >> >> > to truly mimic ephemeral nodes which may not be as simple as  
> all  
> > > this  
> > > >> >> http  
> > > >> >> > sounds), but I do think that if there is appetite for easy http  
> > > access  
> > > >> >> for  
> > > >> >> > consensus systems we should at least take the time to think  
> about  
> > > what  
> > > >> >> it  
> > > >> >> > would take for us to provide this. In particular, I think we'd  
> > > have to  
> > > >> >> > make  
> > > >> >> > it possible to create a node with a TTL that is not tied to a  
> > > >> particular  
> > > >> >> > session.  
> > > >> >> >  
> > > >> >> > Curious to see if anyone has any thoughts on this. It seems  
> like  
> > a  
> > > bit  
> > > >> >> of  
> > > >> >> > a  
> > > >> >> > shame that ZK, which is a good battle-tested system, is  
> > frequently  
> > > >> being  
> > > >> >> > passed-over these days because of the complexity of clients,  
> and  
> > > the  
> > > >> >> fact  
> > > >> >> > that it is really pretty damn hard to do a client impl in  
> certain  
> > > >> >> > languages  
> > > >> >> > (Ruby is the notable one I've heard).  
> > > >> >> >  
> > > >> >> > Best,  
> > > >> >> > C  
> > > >> >> >  
> > > >> >> >  
> > > >> >>  
> > > >> >  
> > > >> >  
> > > >>  
> > >  
> >  
>  

Reply via email to