GithubHelp home page GithubHelp logo

siruslan / couchbase Goto Github PK

View Code? Open in Web Editor NEW

This project forked from jelastic-jps/couchbase

0.0 2.0 0.0 138 KB

Auto-Scalable Couchbase Cluster in Docker Containers

License: Apache License 2.0

JavaScript 100.00%

couchbase's Introduction

couchbase-logo

Couchbase Cluster in Docker Containers

Prepackaged clustered NoSQL Couchbase DB solution with out-of-box automatic scaling and embedded data rebalancing for one-click deployment into Docker containers.

Couchbase Cluster Topology

The current package implements instant deployment of a preconfigured Couchbase Cluster within Jelastic Cloud. Being run in Docker containers, it’s built on top of the official couchbase template. By default, you get 3 interconnected Couchbase containers (though their number could be adjusted beforehand, during the package installation stage).

couchbase-server-cluster

Upon creation, each Couchbase container is assigned 16 dynamic cloudlets as a room of resources for vertical scaling (up to 2 GiB of RAM and 6.4 GHz of CPU). Subsequently, this default limit could be adjusted through the environment topology wizard by following the linked guide.

Also, the following values are set as a maximal memory allocation size for the corresponding RAM services at each node in the cluster:

  • Data RAM - 1024 MiB
  • Index RAM - 256 MiB
  • Full Text Search (FTS) RAM - 256 MiB

And to ensure sufficient level of security, connection to a cluster is established over the HTTPS protocol with Jelastic SSL certificate being attached by default.

Auto-Scaling Configuration

The Couchbase cluster size is automatically adjusted based on incoming load by changing the DB servers number (up to 10 instances per layer) according to the following conditions:

  • +1 node if CPU/RAM usage is >70% for at least 5 minutes
  • -1 node if CPU/RAM usage is <40% for at least 5 minutes

When a node is added to or removed from the cluster, the process of data rebalancing is automatically handled. It is aimed to evenly re-distribute all the information, stored within a cluster, across the available nodes. Herewith, the cluster remains up and continues to serve and handle client requests.

Herewith, each executed auto-scaling operation is supplemented with an appropriate email notification. In case you’d like to change the conditions of automatic scaling manually, adjust the appropriate triggers by following the Automatic Horizontal Scaling guide.

How to Install Auto-Scalable Couchbase Cluster

In order to get Couchbase Cluster automatically set up, click the Deploy to Jelastic button below and specify your email address within the opened widget. Then, choose one of the Jelastic Public Cloud providers (in case you don’t have an account at the chosen platform, it will be created automatically) and click Install.

Deploy

Otherwise, i.e. to deploy the package manually, log in to Jelastic dashboard with your credentials and import link to the manifest.jps file above.

deploy-couchbase-cluster

Within the installation window, set a number of Nodes in Cluster to be created, type Environment name, and optional Display Name (environment alias). Also, select the preferable region (if several ones are available) and click Install.

Wait a few minutes for Jelastic to prepare your environment and configure the auto-scaling settings. Once cluster is up, you’ll be shown the appropriate pop-up message.

open-couchbase-web-concole

Click Open in browser here to access the Couchbase Web Console with your credentials and start exploring the available features and filling up your DB with the data.

For more information on the Couchbase Cluster performance, refer to the following article.

couchbase's People

Contributors

sych74 avatar dmytrozubelevych avatar siruslan avatar ihorman avatar lazarenkoalexey avatar

Watchers

 avatar James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.