跳转到主要内容

文档 v1.5.1 版本已不再积极维护,你当前浏览的是一份归档快照。 最新文档请参阅 最新版本

架构

从 Pigsty v1.5.1 标签恢复的历史文档。

Pigsty在逻辑由几个独立模块组成,可以根据不同的场景自由排列组合。

模块

Pigsty目前提供四个功能模块:

  • INFRA 是Pigsty的基础设施部分,包括监控/告警/可视化/日志/DNS/NTP等公共组件。
  • NODES 是主机节点管理模块,用于配置节点,安装软件,收集监控指标与日志。
  • PGSQL 是PostgreSQL数据库部署管控模块,包括各种类型的PG集群部署与监控。
  • REDIS 是Redis数据库部署管控模块,包括Redis 主从/集群/哨兵部署与监控

用法

您可以自行选择在哪些节点上启用哪些模块,适配不同的需求场景。

默认情况下,Pigsty将执行单机安装,将当前节点初始化为一个加装了 INFRANODES,与PGSQL元节点

您可以进一步加入其他节点,并在其上加装不同的数据库模块。

单机部署

如果您想将Pigsty当作开箱即用的单机PostgreSQL发行版来使用,那么在一台机器上依次安装 INFRA, NODES, PGSQL 三个模块,就会有一个立即可用的,自我监控管理的数据库实例。

执行 infra.yml 剧本在单机上安装Pigsty,在该节点上部署基础设施 ,并拉起一个单节点PostgreSQL数据库集群。个人用户、简单场景、小微企业可以直接开箱使用此数据库。完整安装Pigsty的节点称为元节点(Meta)。

但Pigsty的能力不只于此,它还可以用于监控管理更多的节点与数据库。

主机监控

如果您想要一个生产环境的大规模主机监控系统,那么在一台机器上安装INFRA模块,在所有被监控的机器节点上安装NODES模块即可。所有的主机节点会配置有软件源,软件包,DNS,NTP,节点监控,日志收集,DCS Agent这些生产环境所需的组件。纳入Pigsty管理的主机节点会带有详细的监控信息,并可以用于进一步部署各式各样的数据库模块。

在元节点上通过 nodes.yml 剧本为更多节点加装NODES模块,纳入Pigsty管理中。

数据库集群

当您将节点纳入Pigsty后,这些节点可以用于进一步部署各种数据库集群

如果您想部署管理大量的PostgreSQL集群,在这些纳入Pigsty管理的节点上再加装 **PGSQL **模块即可。您可以一键部署各种各样的PGSQL集群:单实例,一主N从的高可用集群,同步集群,法定人数提交的同步集群,带有离线ETL角色的集群,异地容灾的备集群,延迟复制集群,Citus分布式集群,TimescaleDB集群,MatrixDB数据仓库集群。

如果你想部署并监控管理很多Redis集群,也只要在Pigsty托管的节点上加装REDIS模块即可。

使用 pgsql.yml 创建高可用的PostgreSQL数据库集群,使用 redis.yml创建主从、集群、哨兵模式的Redis集簇,使用 pgsql-matrixdb.yml 部署 Greenplum/MatrixDB 数据仓库。

Pigsty后续会按需逐步添加新类型的数据库功能模块:KAFKA, MINIO, MONGO等。

模型

一套完整的Pigsty系统,可称为一个部署(Deployment)/ 环境(Environment)

例如:生产环境,测试环境,预发环境等。

一套Pigsty部署在架构上分为两个部分:一套基础设施,与多套集群,两者均通过一份配置清单(Inventory)进行描述。

集群包含有节点实例服务三种核心资源:一个集群会包含多个实例,部署于多个 节点(Node)上,提供多种不同的 服务(Service),每个数据库实例之下又会有更细分的ER模型。