Now that the stand-alone “moxi” and memcached components are deprecated,
is there any new component that would replace them for local proxying ?
As mentioned above, you can also run your own
moxi
instances on the client-side, or on your web-app server hosts. In this case, your web application will be making local machine connections to a long-runningmoxi
process (which will provide connection pooling for you). That is, your web applications will connection to 127.0.0.1:11211, andmoxi
will do the rest to proxy requests to the right Couchbase server.
I can connect to the server by changing from libmemcached to libcouchbase,
but is there any program available to provide connection pooling and proxying ?
It does work OK with Couchbase Server Community 5.0, but not with the later ones.
https://couchbase.com/memcached-replacement
There a three main reasons for using moxi :
Compatibility
You want the automatic, dynamic reconfiguration features of Couchbase, but you’re too busy to change your web application. moxi can help here by proxying requests to the correct Couchbase server nodes and will provide protocol transformations, too. That is, you can keep on using ascii memcached clients without any changes.
Simplification
Simplifying your configuration. moxi can dynamically respond to cluster health updates, so your application doesn’t have to.
Performance
You can use moxi within a “client-side” architecture (which runs on your web application servers). This can be helpful to share already-connected sockets, reduce the number of connections from web-app servers to Couchbase, and avoid extra machine hops
Assuming that I do get around to fixing point 1 (memcached), how can I address points 2 (simplification) and 3 (performance) ?
Would I have to write my own Moxi replacement, that would speak something like gRPC and then talk to the Couchbase cluster ?