All Projects → sorintlab → Stolon

sorintlab / Stolon

Licence: apache-2.0
PostgreSQL cloud native High Availability and more.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Stolon

Patroni
A template for PostgreSQL High Availability with Etcd, Consul, ZooKeeper, or Kubernetes
Stars: ✭ 4,434 (+27.38%)
Mutual labels:  postgresql, etcd, consul, high-availability
Gokv
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)
Stars: ✭ 314 (-90.98%)
Mutual labels:  postgresql, etcd, consul
Stolon Chart
Kubernetes Helm chart to deploy HA Postgresql cluster based on Stolon
Stars: ✭ 90 (-97.41%)
Mutual labels:  cloud-native, postgresql, etcd
Moha
MoHA(Mobike High Availability): A MySQL/Postgres high availability supervisor
Stars: ✭ 117 (-96.64%)
Mutual labels:  postgresql, etcd, high-availability
Postgresql cluster
PostgreSQL High-Availability Cluster (based on "Patroni" and "DCS(etcd)"). Automating deployment with Ansible.
Stars: ✭ 294 (-91.55%)
Mutual labels:  postgresql, etcd, high-availability
Vip Manager
Manages a virtual IP based on state kept in etcd or Consul
Stars: ✭ 75 (-97.85%)
Mutual labels:  postgresql, etcd, consul
Postgres Operator
Production PostgreSQL for Kubernetes, from high availability Postgres clusters to full-scale database-as-a-service.
Stars: ✭ 2,166 (-37.78%)
Mutual labels:  postgresql, high-availability, disaster-recovery
Graphjin
GraphJin - Build APIs in 5 minutes with GraphQL. An instant GraphQL to SQL compiler.
Stars: ✭ 1,264 (-63.69%)
Mutual labels:  cloud-native, postgresql
Coolstore Microservices
A full-stack .NET microservices build on Dapr and Tye
Stars: ✭ 1,903 (-45.33%)
Mutual labels:  cloud-native, postgresql
Postgres
🐘 Run PostgreSQL in Kubernetes
Stars: ✭ 205 (-94.11%)
Mutual labels:  cloud-native, postgresql
meshery
Meshery, the cloud native manager
Stars: ✭ 1,587 (-54.41%)
Mutual labels:  consul, cloud-native
Rook
Storage Orchestration for Kubernetes
Stars: ✭ 9,369 (+169.15%)
Mutual labels:  cloud-native, etcd
Kong
🦍 The Cloud-Native API Gateway
Stars: ✭ 30,838 (+785.89%)
Mutual labels:  cloud-native, consul
Spring Cloud Consul
Spring Cloud Consul
Stars: ✭ 703 (-79.8%)
Mutual labels:  cloud-native, consul
Linstor Server
High Performance Software-Defined Block Storage for container, cloud and virtualisation. Fully integrated with Docker, Kubernetes, Openstack, Proxmox etc.
Stars: ✭ 374 (-89.26%)
Mutual labels:  cloud-native, high-availability
perseus
Perseus is a set of scripts (docker+javascript) to investigate a distributed database's responsiveness when one of its three nodes is isolated from the peers
Stars: ✭ 49 (-98.59%)
Mutual labels:  consul, etcd
Light 4j
A fast, lightweight and more productive microservices framework
Stars: ✭ 3,303 (-5.11%)
Mutual labels:  cloud-native, consul
blogr-pve
Puppet provisioning of HA failover/cluster environment implemented in Proxmox Virtual Environment and Linux boxes.
Stars: ✭ 28 (-99.2%)
Mutual labels:  consul, high-availability
radondb-mysql-kubernetes
Open Source,High Availability Cluster,based on MySQL
Stars: ✭ 146 (-95.81%)
Mutual labels:  cloud-native, high-availability
Appactive
AppActive: A middleware to build an application with multiple active architectures(阿里巴巴开源的一款标准通用且功能强大的构建应用多活架构的开源中间件)
Stars: ✭ 241 (-93.08%)
Mutual labels:  high-availability, disaster-recovery

stolon - PostgreSQL cloud native High Availability

Build Status Discourse Go Report Card Downloads Latest release

Stolon Logo

stolon is a cloud native PostgreSQL manager for PostgreSQL high availability. It's cloud native because it'll let you keep an high available PostgreSQL inside your containers (kubernetes integration) but also on every other kind of infrastructure (cloud IaaS, old style infrastructures etc...)

For an introduction to stolon you can also take a look at this post

Features

  • Leverages PostgreSQL streaming replication.
  • Resilient to any kind of partitioning. While trying to keep the maximum availability, it prefers consistency over availability.
  • kubernetes integration letting you achieve postgreSQL high availability.
  • Uses a cluster store like etcd, consul or kubernetes API server as an high available data store and for leader election
  • Asynchronous (default) and synchronous replication.
  • Full cluster setup in minutes.
  • Easy cluster administration
  • Can do point in time recovery integrating with your preferred backup/restore tool.
  • Standby cluster (for multi site replication and near zero downtime migration).
  • Automatic service discovery and dynamic reconfiguration (handles postgres and stolon processes changing their addresses).
  • Can use pg_rewind for fast instance resynchronization with current master.

Architecture

Stolon is composed of 3 main components

  • keeper: it manages a PostgreSQL instance converging to the clusterview computed by the leader sentinel.
  • sentinel: it discovers and monitors keepers and proxies and computes the optimal clusterview.
  • proxy: the client's access point. It enforce connections to the right PostgreSQL master and forcibly closes connections to old masters.

For more details and requirements see Stolon Architecture and Requirements

Stolon architecture

Documentation

Documentation Index

Installation

Stolon is available in brew. It is unofficial and not supported by the project. So check the version before installing using brew.

Step to install using brew

Quick start and examples

Project Status

Stolon is under active development and used in different environments. Probably its on disk format (store hierarchy and key contents) will change in future to support new features. If a breaking change is needed it'll be documented in the release notes and an upgrade path will be provided.

Anyway it's quite easy to reset a cluster from scratch keeping the current master instance working and without losing any data.

Requirements

  • PostgreSQL 14, 13, 12, 11, 10, 9.6

  • etcd2 >= v2.0, etcd3 >= v3.0, consul >= v0.6 or kubernetes >= 1.8 (based on the store you're going to use)

  • OS: currently stolon is tested on GNU/Linux (with reports of people using it also on Solaris, *BSD and Darwin)

build

To build stolon we usually test and support the latest two major versions of Go like in the Go release policy.

make

High availability

Stolon tries to be resilient to any partitioning problem. The cluster view is computed by the leader sentinel and is useful to avoid data loss (one example over all avoid that old dead masters coming back are elected as the new master).

There can be tons of different partitioning cases. The primary ones are covered (and in future more will be added) by various integration tests

FAQ

See here for a list of faq. If you have additional questions please ask.

Contributing to stolon

stolon is an open source project under the Apache 2.0 license, and contributions are gladly welcomed! To submit your changes please open a pull request.

Contacts

  • For general discussion about using and developing stolon, join the stolon forum
  • For bugs and feature requests file an issue
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].