I was actually thinking about inter-node communication yesterday. As was pointed out, HTTP inefficiency is mainly in TCP setup and request parsing. I think the cleanest way to get a boost would not be to add a new API but utilize Accept and Content-Type headers with a custom mimetype like beam/eterm to indicate erlang binary terms can be sent directly. This would eliminate JSON overhead and reduce network bytes while still keeping Couch well embedded in the web ecosystem with all the middleware advantages that come with it. Furthermore, authentication can happen in a pluggable way that does not require erlang cookies, a fully connected network, or epmd ports like distributed OTP nor do we have to write our own gen_tcp based protocol.
-Randall On Aug 16, 2010 12:55 PM, "Miles Fidelman" <[email protected]> wrote: Klaus Trainer wrote: > > I believe the greatest advantage of HTTP over other more efficient > protoc... absolutely > > Of course, there might be way more efficient protocols to support P2P > replication, but the tr... This is precisely where I see a different protocol being more useful. I've avoided using Couch in a couple of large, distributed applications because I really don't want to bite off the management of large numbers of 2-party links for replication. A P2P or multi-cast protocol would avoid that problem. Miles -- In theory, there is no difference between theory and practice. In<fnord> practice, th...
