Table of Contents
This chapter outlines the key concepts of Membase to provide the basic framework and context so that you can understand the various components of Membase. This information will outline and describe various concepts and terms that are used throughout the discussions of working with and using Membase.
A Membase cluster is made up of one or more servers/nodes. Within this cluster, an administrator can define a number of buckets that are used to provide the elastic data management services. A number of key terms are used extensively when describing the different areas of your Membase installation:
A Membase Server is an instance of Membase running on a machine. You can only run one Membase Server on a machine at one time, and so the terms Membase Server and Membase Node are used interchangeably.
A node is an instance of Membase Server installed on a single host machine. The underlying architecture is less important to this discussion, but one can equate a Membase node with a server. A server can be running inside of [EC2], VMware, on dedicated hardware, etc.
A cluster is a logical collection of one or more server nodes running Membase Server. Clustering is the foundation of Membase's horizontally scalable Cluster Manager. By clustering server nodes, production deployments of Membase Server have the ability to increase storage capacity and improve performance and system availability.
Scaling out a Membase Server cluster horizontally is as simple as adding a Membase Server node and using the Membase Web Console to join a cluster. With Membase Server, clusters can grow dynamically without impacting the system.
Membase Server has a Cluster Manager that provides built-in cluster management and a simple REST interface. Client libraries and web applications that utilize the interface can determine the health and state of a Membase Server cluster.
There is also a built-in proxy running on each server that handles the redirection of client traffic. This allows a Membase Server cluster to scale dynamically as servers are added to or removed from the cluster - while web applications continue to operate with no disruption. Smart clients coordinate directly with the cluster to achieve even better performance.
The Membase Cluster Manager is a component of each Membase Server that provides the following services:
Clustering and cluster management
Server node administration (startup and shutdown)
Server node monitoring
Statistics gathering and aggregation
Security for administrative access and access to cache resources
Client applications access these services via the admin port (8091) and data ports (11211 or 11210). Communication between nodes operates on ports 21100-21199.