【DB吐槽大会】第79期 - PG standby不支持配置多个上游节点

简介: 大家好,这里是DB吐槽大会,第79期 - PG standby不支持配置多个上游节点

背景


1、产品的问题点

  • PG standby不支持配置多个上游节点

2、问题点背后涉及的技术原理

  • PG 物理流复制协议支持将wal数据发送给下游节点, 实现物理的增量同步.
  • 每个下游节点只能配置一个上游节点.
  • PG 的一个上游节点可以配置多个下游节点, 下游节点还可以配置集联的下游节点.
  • 在一个WAL复制的集群拓扑中, 每个节点的WAL文件内容是一样的, 所以理论上可以相互补位复制.

3、这个问题将影响哪些行业以及业务场景

  • 通用(使用了物理流复制的场景: 高可用、只读实例、容灾等)

4、会导致什么问题?

  • 如果上游节点挂了, 下游节点就接收不到wal日志, 需要及时改流复制的连接配置, 连接到活着的节点. 如果改配置不及时可能导致新的上游节点WAL已清理, 需要重建或rewind修复下游.
  • 如果上游节点是HA架构, 一旦发生主从切换, 下游节点可能和上游节点的WAL发生分叉, 导致下游节点需要重建或rewind修复.

5、业务上应该如何避免这个坑

  • 及时发现, 人工处理. 或者有自动化运维工具进行发行和处理.

6、业务上避免这个坑牺牲了什么, 会引入什么新的问题

  • 门槛高

7、数据库未来产品迭代如何修复这个坑

  • standby 支持多上游节点, 优先从从库接收wal, 主从切换不影响下游的只读实例. (开源版本有一部分概率上游节点发生HA切换后可能需要重新搭建只读库)
  • 拓扑感知, 可以在多个从库之间自动转发wal, 确保wal平衡后再切换. 可以确保整个集群在发生故障时可以应用更多的wal、避免出现分叉. 《DB吐槽大会,第72期 - PG wal 联网协议不够发达》
相关文章
|
关系型数据库 数据库 PostgreSQL
【DB吐槽大会】第38期 - PG 不能自动创建(扩展)分区
大家好,这里是DB吐槽大会,第38期 - PG 不能自动创建(扩展)分区
|
SQL 关系型数据库 Java
【DB吐槽大会】第16期 - PG Standby不支持解析逻辑日志
大家好,这里是DB吐槽大会,第16期 - PG Standby不支持解析逻辑日志
|
关系型数据库 分布式数据库 数据库
【DB吐槽大会】第44期 - PG 同步复制不支持自动升降级
大家好,这里是DB吐槽大会,第44期 - PG 同步复制不支持自动升降级
|
SQL 存储 关系型数据库
【DB吐槽大会】第60期 - PG 只读实例不支持写操作
大家好,这里是DB吐槽大会,第60期 - PG 只读实例不支持写操作
|
搜索推荐 关系型数据库 分布式数据库
【DB吐槽大会】第7期 - PG slot 无failover
大家好,这里是DB吐槽大会,第7期 - PG slot 无failover
|
关系型数据库 数据库
【DB吐槽大会】第25期 - PG 不支持物理Partial Standby
大家好,这里是DB吐槽大会,第25期 - PG 不支持物理Partial Standby
|
SQL 消息中间件 存储
【DB吐槽大会】第33期 - PG 逻辑复制不支持DDL
大家好,这里是DB吐槽大会,第33期 - PG 逻辑复制不支持DDL
|
SQL 关系型数据库 数据库
【DB吐槽大会】第73期 - PG 统计信息无法迁移
大家好,这里是DB吐槽大会,第73期 - PG 统计信息无法迁移
|
弹性计算 关系型数据库 数据库
【DB吐槽大会】第34期 - PG 全局catalog全局可见
大家好,这里是DB吐槽大会,第34期 - PG 全局catalog全局可见
|
SQL Oracle 关系型数据库
【DB吐槽大会】第39期 - PG 物化视图不支持基于log的增量刷新
大家好,这里是DB吐槽大会,第39期 - PG 物化视图不支持基于log的增量刷新