跳转到主要内容

架构规划

使用多少个节点?为哪些模块配置高可用?如何根据可用的资源与业务需求进行规划?

Pigsty 采用 模块化架构,您可以像搭积木一样组合出自己想要的部署方案,并用简单的 声明式配置 表达您的意图。

常见方案

这里有一些常见的组合模式供您参考,您可以根据自己的需求进行进一步的定制与调整:

方案INFRAETCDPGSQLMINIO说明
单机部署(meta)111单机部署 默认配置,经典方案
单机部署(slim)11不要监控设施,只要数据库
基础设施(infra)1只要监控基础设施
单机部署(rich)1111单机 + 对象存储 + 本地仓库/扩展
多节点方案INFRAETCDPGSQLMINIO说明
双节点(dual)1122节点半 HA,可容忍坏特定一个
三节点(trio)3333三节点 HA,Silo EC:1
四节点(full)111+3演示专用,1 INFRA/ETCD
生产仿真(simu)359420 节点,另含 2 个代理
大规模生产(自定义)35nn3个 INFRA,5个 ETCD

使用什么样的架构规划方案,取决于您对数据库可靠性的要求,以及手头可用的资源。 通常来说,严肃的生产环境部署至少需要 3 个节点以实现 高可用配置。 如果您只有 2 个节点,则可以使用 半高可用配置。

专家咨询服务:架构规划

我们提供 架构咨询服务(¥2,000)为您筹划合适的 Pigsty 配置方案。


利弊权衡

  • 若要使用 Pigsty 的监控系统,则至少需要 1 个 INFRA 节点,生产部署通常使用 2 个,大规模部署 3 个。
  • 若要启用 PG 高可用,则至少需要 1 个 ETCD 节点;生产部署通常使用 3 个,大规模环境中使用 5 个。偶数成员也能运行,但不会比少一个成员的奇数集群提高故障容忍数,因此应优先采用奇数规模。
  • 若要启用 MINIO 模块的 Silo 对象存储,则至少需要 1 个 MINIO 节点,严肃使用时通常使用 4+ 节点部署 MNMD 集群。
  • PG 生产集群通常至少为两节点主从配置;严肃场景通常使用 3 节点;高只读负载可以有更多从库(几十个)
  • 此外对于 PostgreSQL 来说,您还可以按需使用 离线实例,同步实例,备份集群,延迟集群等等高级配置。

单节点配置

最简单的配置,所有内容都在单个节点上运行,默认安装四个基本模块,通常用于 Demo,Devbox,或测试环境。

IDNODEPGSQLINFRAETCD
1node-1pg-meta-1infra-1etcd-1

如果为备份/PITR 配置了外部 S3 / MinIO 备份仓库 提供兜底的 RTO/RPO,此配置亦可用于普通标准的生产环境。

单节点配置有多种变体:


双节点配置

双节点配置 将启用数据库复制和 半高可用 能力,提供更好的数据冗余,以及有限的故障转移支持:

IDNODEPGSQLINFRAETCD
1node-1pg-meta-1 (replica)infra-1etcd-1
2node-2pg-meta-2 (primary)

双节点配置的高可用自动切换机制有限制,这种"半 HA"设置只能从特定节点故障中自动恢复:

  • 如果 node-1 故障,无自动故障转移:需要手动提升 node-2
  • 如果 node-2 故障,自动故障转移有效:node-1 自动提升

三节点配置

三节点模板 在每个节点同时部署 INFRA、ETCD、PGSQL 和 MINIO(Silo),在剩余两节点连通且副本状态满足故障转移条件时,可以容忍一个节点故障。Silo 使用三节点、每节点单数据盘的 EC:1 池;已有单节点对象存储不能直接扩展成这个拓扑,应新建池并迁移对象。

IDNODEPGSQLINFRAETCDMINIO
1node-1pg-meta-1infra-1etcd-1minio-1
2node-2pg-meta-2infra-2etcd-2minio-2
3node-3pg-meta-3infra-3etcd-3minio-3

四节点配置

Pigsty 沙箱环境 使用的 标准四节点配置。

IDNODEPGSQLINFRAETCD
1node-1pg-meta-1infra-1etcd-1
2node-2pg-test-1
3node-3pg-test-2
4node-4pg-test-3

在这里我们出于演示目的,不配置 INFRA / ETCD 模块的高可用,您也可以对其进行进一步的调整

IDNODEPGSQLINFRAETCDMINIO
1node-1pg-meta-1infra-1etcd-1minio-1
2node-2pg-test-1infra-2etcd-2
3node-3pg-test-2etcd-3
4node-4pg-test-3

更多节点

ha/simu 仿真模板 与 vagrant/spec/simu.rb 当前使用 20 个节点,将关键服务按组分开部署:

节点组IP 地址范围数量主要职责
infra / pg-meta10.10.10.10~10.10.10.123INFRA 与元数据库集群
proxy10.10.10.18~10.10.10.192HAProxy / VIP 接入
minio10.10.10.21~10.10.10.244Silo,每节点四块数据盘
etcd10.10.10.25~10.10.10.295ETCD,同时复用作 Redis Sentinel 测试节点
pg-src10.10.10.31~10.10.10.333源 PostgreSQL 集群
pg-dst10.10.10.41~10.10.10.433目标 PostgreSQL 集群

这是功能与生产拓扑仿真的模板;实际生产部署仍应按容量、故障域和服务依赖调整资源与共置方式。

这个页面对您有帮助吗?