Clustering with Bitbucket Data Center
Bitbucket Data Center is the on-premises Git repository management solution for larger enterprises that require high availability and performance at scale.
Bitbucket Data Center uses a cluster of Bitbucket Server nodes and is designed with enterprise scaling and infrastructure flexibility in mind for when you host Bitbucket in your own data center. It provides enterprise teams with (follow the links for more information on each topic):
- Clustering: The ability to run your Bitbucket instance on a cluster of multiple nodes (connected by a high bandwidth, low latency network), providing scalable capacity, performance, and high availability.
- Performance at scale: A cluster of many machines each running Bitbucket Server can handle a greater load than a single machine.
- High availability and failover: If one cluster node goes down, then the remaining cluster nodes can continue servicing requests so that users see little or no loss of availability.
- Instant scalability: You can rapidly provision extra capacity with no downtime.
- Smart Mirroring: The ability to provide local Mirror nodes in geographically distributed locations, to accelerate Git clones and fetches for remote teams.
- Rate limiting (available from Bitbucket Data Center 6.6)- The ability for Bitbucket to self-protect. Helps you keep your instance stable by giving you control over how many HTTP requests (e.g. REST API requests) automations and scripts can make, and how often they can make them.
A look at the architecture
Bitbucket Data Center consists of a cluster of dedicated machines, connected like this:
The load balancer distributes requests from your users to the cluster nodes. If a cluster node goes down, the load balancer immediately detects the failure and automatically directs requests to the other nodes within seconds.
The cluster of Bitbucket nodes share the workload of incoming requests. Failure of a cluster node causes virtually no loss of availability for users, because requests are immediately directed to other nodes.
Elasticsearch provides search functionality for Bitbucket Server. It provides a fast, full-text search engine that enables searching for projects, repositories, and code within Bitbucket Server.
Shared database and storage
Bitbucket Data Center supports the same databases as Bitbucket Server (except for MySQL). A high-performance shared file system, accessible via NFS, stores repository, attachment and avatar data.
Get started with Bitbucket Data Center
See Installing Bitbucket Data Center for detailed information about setting up Bitbucket Data Center.
The Bitbucket Data Center FAQ answers the questions you might have when starting with Bitbucket Data Center.