Stolon 简介 - PostgreSQL 云原生高可用

https://github.com/sorintlab/stolon

Stolon 是一个用于 PostgreSQL 高可用性的云原生 PostgreSQL 管理器。它是云原生的,因为它可以让您在容器中(kubernetes 集成)以及所有其他类型的基础设施(云 IaaS、旧式基础设施等)上保持高可用性 PostgreSQL。

功能

  • 利用 PostgreSQL 流式复制。
  • 适应任何类型的分区。在尝试保持最大可用性的同时,它更喜欢一致性而不是可用性。
  • kubernetes 集成让您实现 postgreSQL 高可用性。
  • 使用 etcd、consul 或 kubernetes API server 等集群存储作为高可用数据存储和 leader 选举。
  • 异步(默认)和同步复制。
  • 在几分钟内完成集群设置。
  • 轻松简单的集群管理。
  • 可以与您首选的备份/恢复工具集成进行时间点恢复。
  • 备用集群(用于多站点复制和接近零停机时间的迁移)。
  • 自动服务发现和动态重新配置(处理 postgres 和 stolon 进程更改其地址)。
  • 可以使用 pg_rewind 与当前 master 进行快速实例重新同步。

架构

Stolon 由 3 个主要部分组成

  • keeper:它管理一个 PostgreSQL 实例收敛到由领导者哨兵计算的 clusterview。
  • sentinel:它发现并监控 keepers 和 proxy,并计算出最佳的 clusterview。
  • proxy:客户端的访问点。它强制连接到正确的 PostgreSQL 主服务器并强制关闭与旧主服务器的连接。