Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-5814

Provide documentation on configuring Moxi and Couchbase clients behind an ELB

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Won't Fix
    • Affects Version/s: 1.8.1, 2.0, 2.0.1, 2.1.1, 2.2.0, 2.5.0
    • Fix Version/s: 3.0
    • Component/s: None
    • Security Level: Public
    • Sprint:
      PCI Team - Sprint 6

      Description

      Not necessarily just for Moxi, not necessarily just for the SDK's (the recommendations are the same either way), a recent customer request for instructions on how to configure an ELB to work with Couchbase.

      Question:
      I've searched the manual for 1.8 and 2.0, and googled quite a bit, but, I still have not been able to find help setting up moxi proxy such that the couchbase instances are behind an ELB, and the ELB hostname is what I put in the moxi-cluster.cfg.

      Where I need help is setting up the ELB...
      1. What do I use for the health check for 1.8? for 2.0?
      2. What ports do I map? http:8091 -> http:8091

      From support:
      You will want to have the ELB use the 8091 port for the cluster, this will allow the Moxi clients to balance the REST connections between the nodes, but the connections for reads and updates from the Moxis will still go directly to the correct node.
      For the health check, you will want to use :8091/pools/default/buckets/<bucket name>/stats

      replacing <bucket name> with your bucket name as the HTTP URL to test.

      This url will return a 200 OK with the number of items if the node is working, and an error if it is not.

      Other than that, the default settings should be good.

      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Hide
        kzeller kzeller added a comment -

        Hi Jin,

        Can you get this to Steve or the appropriate engineer to provide this information, then assign back to me to add to doc as instructions?

        Thanks!

        Show
        kzeller kzeller added a comment - Hi Jin, Can you get this to Steve or the appropriate engineer to provide this information, then assign back to me to add to doc as instructions? Thanks!
        Hide
        jin Jin Lim (Inactive) added a comment -

        Hi Steve,
        Please review the bug description and let me know whom should be able to provide requested info. This info will go into documentation for users. Thanks!

        Show
        jin Jin Lim (Inactive) added a comment - Hi Steve, Please review the bug description and let me know whom should be able to provide requested info. This info will go into documentation for users. Thanks!
        Hide
        kzeller kzeller added a comment -

        Ronnie now on Moxi.

        Show
        kzeller kzeller added a comment - Ronnie now on Moxi.
        Hide
        kzeller kzeller added a comment -

        We are asking that this be assigned to someone who is field/customer facing and technical. This is very customer-environment specific information as opposed to product-related documentation, which is typically based on features and usage of the core Couchbase Server.

        Thanks,

        Karen

        Show
        kzeller kzeller added a comment - We are asking that this be assigned to someone who is field/customer facing and technical. This is very customer-environment specific information as opposed to product-related documentation, which is typically based on features and usage of the core Couchbase Server. Thanks, Karen
        Hide
        perry Perry Krug added a comment -

        Put this in the "Couchbase in the Cloud" section:

        Alternate configuration for Moxi and Couchbase Clients: using a load balancer.

        The typical way of configuring Moxi and the Couchbase clients is to direct them to the management interface (port 8019) on one or more IP addresses or hostnames of the nodes of a Couchbase Server cluster (provide links). This connection is used to get the initial topology map and maintaining a connection for when that topology changes. Only one connection at any given time is needed, multiple addresses are provided for HA in the event that one node in the list is down.

        A challenge in this setup arises when deploying Couchbase in environments where the IP addresses of the Couchbase Server Cluster nodes are changing frequently or may not be known at the time of client instantiation. Most typically, this arises in cloud environments (Amazon EC2).

        To workaround this challenge, the list of IP addresses or hostnames passed to Moxi or the Couchbase clients can be replaced with a single IP that directs to a load balancer or reverse proxy. That load balancer or reverse proxy is then responsible for maintaining a list of the current Couchbase servers and "proxying" the connection to port 8091 from Moxi or the clients to the Couchbase Server Cluster nodes.

        Note that this is NOT affecting or being in any part responsible for the data or view querying connections to ports 11210 and 8092 respectively. Those connections and that traffic will still be sent directly to the Couchbase Server nodes. It is still important to ensure that all the clients are able to reach all of the Couchbase nodes on the various ports (provide link)

        The configuration of Moxi and the Couchbase clients does not need to look any different, however there are some important considerations to take into account:
        -First and foremost, ensure that the load balancer IP (or VIP) is always available. This may seem obvious, but it's important to realize that this becomes a single-point of connection for all your clients connecting to a Couchbase Server Cluster and therefore must be ensured to always exist.
        -Ensure that the load balancer stays up-to-date with any Couchbase Server Cluster changes. You do not want "stale" nodes to be used for connection.
        -Ensure that the load balancer has enough resources and available connections for all your clients to connect to it.
        -Turn off any "idle connection reset" functionality. This differs from product to product, but the connection to port 8091 will seem "idle" for most of the time and having the load balancer/proxy reset it will only cause extra unnecessary traffic and possible disruption to your operations during steady-state

        Show
        perry Perry Krug added a comment - Put this in the "Couchbase in the Cloud" section: Alternate configuration for Moxi and Couchbase Clients: using a load balancer. The typical way of configuring Moxi and the Couchbase clients is to direct them to the management interface (port 8019) on one or more IP addresses or hostnames of the nodes of a Couchbase Server cluster (provide links). This connection is used to get the initial topology map and maintaining a connection for when that topology changes. Only one connection at any given time is needed, multiple addresses are provided for HA in the event that one node in the list is down. A challenge in this setup arises when deploying Couchbase in environments where the IP addresses of the Couchbase Server Cluster nodes are changing frequently or may not be known at the time of client instantiation. Most typically, this arises in cloud environments (Amazon EC2). To workaround this challenge, the list of IP addresses or hostnames passed to Moxi or the Couchbase clients can be replaced with a single IP that directs to a load balancer or reverse proxy. That load balancer or reverse proxy is then responsible for maintaining a list of the current Couchbase servers and "proxying" the connection to port 8091 from Moxi or the clients to the Couchbase Server Cluster nodes. Note that this is NOT affecting or being in any part responsible for the data or view querying connections to ports 11210 and 8092 respectively. Those connections and that traffic will still be sent directly to the Couchbase Server nodes. It is still important to ensure that all the clients are able to reach all of the Couchbase nodes on the various ports (provide link) The configuration of Moxi and the Couchbase clients does not need to look any different, however there are some important considerations to take into account: -First and foremost, ensure that the load balancer IP (or VIP) is always available. This may seem obvious, but it's important to realize that this becomes a single-point of connection for all your clients connecting to a Couchbase Server Cluster and therefore must be ensured to always exist. -Ensure that the load balancer stays up-to-date with any Couchbase Server Cluster changes. You do not want "stale" nodes to be used for connection. -Ensure that the load balancer has enough resources and available connections for all your clients to connect to it. -Turn off any "idle connection reset" functionality. This differs from product to product, but the connection to port 8091 will seem "idle" for most of the time and having the load balancer/proxy reset it will only cause extra unnecessary traffic and possible disruption to your operations during steady-state
        Hide
        perry Perry Krug added a comment -

        This was an old one, I think we're at the point where we actually don't want to be recommending this anyway.

        Show
        perry Perry Krug added a comment - This was an old one, I think we're at the point where we actually don't want to be recommending this anyway.

          People

          • Assignee:
            akurtzman Amy Kurtzman
            Reporter:
            perry Perry Krug
          • Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Agile

                Gerrit Reviews

                There are no open Gerrit changes