Some of you may want to run multiple instances of moxi, giving each moxi process special command-line configuration parameters. The simplest way to start moxi completely via the command-line is by passing it one or more comma-separated REST URL's:
A per-bucket URL has the form of:
For example, with a bucket named "shoppingCarts": And using more than one Membase server for redundancy:
The "Gold Standard" best practice (if you have the flexibility) is to put the Membase host URLs behind a http reverse-proxy, so that all the client-side Moxi's can be more easily configured with a "stable" URL which can handle cluster changes without having to touch each client-side Moxi like..
Certain load balancers will close a connection that they have deemed "idle". When a client-side Moxi is connected to Membase's streaming API, there is very little data flowing other than when topology changes occur. Because of this, some load balancers will close the connection which can cause traffic disruptions. It is a best practice to configure the load balancer with an infinite timeout on idle connections for this traffic.
Moxi will listen on port 11211 by default. To change Moxi's listen port, use a -Z port_listen flag:
./moxi -Z port_listen=11311 http://membase1:8091/pools/default/bucketsStreaming/shoppingCarts
If your bucket has SASL authentication credentials, you can also specify them using the usr and pwd -Z flags. For example:
./moxi -Z usr=shoppingCarts,pwd=need_a_better_pswd,port_listen=11311 \ http://membase1:8091/pools/default/bucketsStreaming/shoppingCarts
To have moxi emit more logging information, you can specify -v, -vv, or -vvv flags (the more v's, the more verbose moxi will be). For example:
./moxi -vv -Z usr=shoppingCarts,pwd=need_a_better_pswd,port_listen=11311 \ http://membase1:8091/pools/default/bucketsStreaming/shoppingCarts