推荐项目:stolon - 云原生PostgreSQL高可用性解决方案
stolon是一个云原生的PostgreSQL管理器,旨在确保你的PostgreSQL数据库在容器环境(如Kubernetes)或任何其他基础设施(如公有云IaaS、传统架构等)上的高可用性。借助stolon,你可以享受到高效、可靠的数据库管理和运维体验。
项目简介
- stolon利用了PostgreSQL的流复制特性,以实现数据同步和容错。
- 在应对网络分区时,它优先保证数据一致性,而非简单追求服务的可用性。
- 它支持与Kubernetes集成,让你在Kubernetes集群中轻松搭建PostgreSQL高可用环境。
- 利用诸如etcd、Consul或Kubernetes API服务器作为高可用数据存储和领导者选举机制。
- 提供异步(默认)和同步复制模式。
- 集群设置快速,只需几分钟即可完成。
- 简化的集群管理和操作。
- 支持时间点恢复功能,便于与其他备份/恢复工具配合使用。
- 可创建备用集群,用于多站点复制和近零停机时间迁移。
- 自动服务发现和动态重新配置,应对PostgreSQL和stolon进程地址的变化。
- 使用pg_rewind进行快速实例与当前主节点的同步。
技术解析
stolon由三个主要组件构成:
- keeper:负责管理PostgreSQL实例,并使其与领导者的clusterview保持一致。
- sentinel:发现并监控keeper和proxy,计算最优clusterview。
- proxy:作为客户端访问点,强制连接至正确主节点,并关闭旧主节点的连接。
详细的架构设计和技术要求,请参阅Stolon架构和需求文档。
应用场景
stolon适用于各种对PostgreSQL高可用性和云原生环境兼容性有需求的场景,包括但不限于:
- Kuberentes容器环境下运行的微服务应用。
- 需要跨地域复制和灾难恢复的企业级数据库。
- 对数据一致性要求严格的应用系统。
特点概览
- 轻量级部署:在几分钟内就能建立一个完整的高可用性PostgreSQL集群。
- 灵活的存储选项:支持etcd、Consul和Kubernetes API服务器等多种存储选择。
- 智能故障切换:能自动检测和处理主从节点故障,避免数据不一致。
- 易于管理:提供简单的命令行工具进行集群管理和操作。
- 多版本兼容:支持PostgreSQL多个版本,满足不同环境需求。
获取并使用stolon
欲了解详细的安装指南、快速入门和示例,请参阅项目文档文档索引。
开源状态与社区
stolon处于活跃开发状态,已在多个环境中得到实际应用。尽管如此,其磁盘格式可能会随新功能引入而发生变化。若发生重大变更,将在发布说明中明确记录并提供升级路径。
加入stolon论坛,参与讨论、提出问题和贡献代码。
开始你的云原生PostgreSQL之旅,使用stolon构建稳定、可靠的数据存储解决方案。让我们共同探索这个强大的高可用性数据库管理工具吧!
注:本文档为Markdown格式,建议使用Markdown阅读器查看以获得最佳效果。