PostgreSQL 复制原理及高可用集群(二)|学习笔记

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB PostgreSQL 版,标准版 2核4GB 50GB
简介: 快速学习 PostgreSQL 复制原理及高可用集群(二)

开发者学堂课程【PostgreSQL 实战进阶 PostgreSQL 复制原理及高可用集群(二)】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/112/detail/1909


PostgreSQL 复制原理及高可用集群(二)

 

内容介绍:

一、PostgreSQL 高可用

二、PostgreSQL 流复制

三、PostgreSQL 逻辑复制

四、PostgreSQL 高可用集群

五、演示环节

三、PostgreSQL 逻辑复制:

那下来就是逻辑复制,这里面有个概念就是发布者和订阅者。Publisher和subscriber,主端如果是要通过逻辑复制,首先他要进行一些定义,就是配置文件里面有日志级别,要把它设置成为 logical,之后就可以去定义 publisher, publisher 传输的这个通道还是用的 Sender 和 Receiver,

 image.png

这个就是一个很简单的逻辑复制搭建的一个流程,首先在发布端首先确保WAL_LEVEL=Logical。确保逻辑复制可以正常工作,通过 pg_hba.conf 来设置正常需要的权限,设置完成之后,就可以到数据库里面去进行 publication 的定义,比如在这里定义 publication 的名字,叫 insert_only,名为 mydata 的 TABLE,可以给他定一个权限,就是 WIEH(pubblish=’insert’);这个时候对于这张表里面他只会去发布insert这样的操作,他不会往外面发送,然后可以通过publish关键词里面定义多个行为,可以用 insert,delete,当这个命令执行完之后,publisher 就已经做完了,就设置这个订阅端,就是通过 CREATE SUBSCRIPTION,mysub 是他的名字,然后要跟一个连接串,连接串就直接去定义到比如是哪台主机,哪个端口,用户是什么,哪个数据库。有了连接串之后。Publication 用哪一个,因为这边定义的就用它对应的名字写上去,那就可以收消息,在主端做一个什么事情,在从端马上就可以搜得到。以上就是逻辑复制的一些内容。

image.png

 

四、PostgreSQL 高可用集群:

常用的集群,ECOX 是一个专门为流复制设计的一个高可用集群,有一个仲裁集群,就是为了避免单点故障导致他误判,仲裁集群可以管很多个 Postgre 集群,在这个集群内部主从切换全都是自动的,这边有一个简单截屏。就 ecoxd-help,这个例子里面现在是12,有三个节点,节点的 IP 的端口是不是在线,comaster 就是跟 master 保持同步复制的一个节点,最后的 sync master 是谁,他同步的节点是谁。这个系统目前是支持原生的 Postgre,支持自己的数据库,

 image.png

另外把 ECOX 做到了自己的云平台里面,支持 PostgreSQL,其实做 PostgreSQL 的高可用开源的版本也比较多。

image.png

 

五、演示:

输入 su -postgres,切换到 PostgreSQL 这个用户下面来,可以用 ECOX。在配置好ECOX,直接就可以用 starts top 来启动这个集群,只要启动起来之后,所有的任务全都是 ECOX 来做,是全自动的。现在这个环境已经配置好了,只需要来看当前有哪些东西,输入 ecoxd show cluster,如下图就是刚才做的。

 image.png

比如停掉一个节点,当前这个要停掉,可以用 ECOXD 就停掉了。输入 ecoxd stop,输入 ecoxd show cluster

 image.png

新的 master 就变到这里来了,然后再把它启动起来,输入 ecoxd start,输入 ecoxd show cluster,

 image.png

现在在线,里面设定最新的 master,就是原来切换到这一个,然后 comaster 是同步节点,这个星号表示当前在里面是哪一个节点,这是一个环境。

另外可以看 RDS 的环境。RDS 是部署在用户的使用环境里面的,就直接可以用我们的产品直接来建,这是一个环境,进来之后,有 RDS,RDS 里面支持 Oracle。

 image.png

然后在这个里面,现在已经没有环境,但是打开一个可以看得见。可以自动的让他启动或者是停止,因为这个是环境没有了,通过这个来创建集群,直接创建就好。

 image.png

所有东西选择完成,可以同步加很多节点,放在哪里随便选一个,那这样就可以创建很多,根据业务需需要可以创建很多东西。选一个数据库的版本,然后它就会自动创建,因为为了保证可靠性,一个物理节点只能创建一个逻辑节点。然后就可以在上面去创建,创建完了之后。就有一个对外可以用的,而且是带集群功能的PostgreSQL。

 image.png

可以通过页面的方式来创建集群做一些定义。

相关实践学习
使用PolarDB和ECS搭建门户网站
本场景主要介绍基于PolarDB和ECS实现搭建门户网站。
阿里云数据库产品家族及特性
阿里云智能数据库产品团队一直致力于不断健全产品体系,提升产品性能,打磨产品功能,从而帮助客户实现更加极致的弹性能力、具备更强的扩展能力、并利用云设施进一步降低企业成本。以云原生+分布式为核心技术抓手,打造以自研的在线事务型(OLTP)数据库Polar DB和在线分析型(OLAP)数据库Analytic DB为代表的新一代企业级云原生数据库产品体系, 结合NoSQL数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
6月前
|
SQL 存储
【TiDB原理与实战详解】3、 集群升级和逻辑备份恢复~学不会? 不存在的!
TiDB集群可通过打补丁和版本升级来维护。打补丁针对特定组件(如TiDB或TiKV)进行,而版本升级包括不停机升级和停机升级两种方式,前者会重启部分组件。升级前需更新tiup工具并调整拓扑配置,确保集群健康。TiDB的数据备份与恢复依赖于Dumpling和TiDB Lightning工具,前者负责数据导出,后者用于数据导入。导出时推荐使用小文件和多线程以提升效率,并可通过多种参数控制导出细节。恢复时需注意备份目录与存储节点分离,并可通过配置文件控制导入过程,支持断点续传及错误处理策略。此外,4.0及以上版本支持库表过滤功能,便于灵活管理数据导入。
|
6月前
|
缓存 关系型数据库 MySQL
如何实现mysql高可用集群
如何实现mysql高可用集群
76 0
|
存储 关系型数据库 数据库
PostgreSQL复制原理及高可用集群
文章来自: 朱贤文 | 成都文武信息技术有限公司 分析
357 1
|
存储 SQL 缓存
PostgreSQL 复制原理及高可用集群(一)|学习笔记
快速学习 PostgreSQL 复制原理及高可用集群(一)
430 0
PostgreSQL 复制原理及高可用集群(一)|学习笔记
|
存储 运维 关系型数据库
本地部署 PolarDB-X(一)|学习笔记
快速学习本地部署 PolarDB-X(一)
本地部署 PolarDB-X(一)|学习笔记
|
SQL 存储 Kubernetes
本地部署 PolarDB-X(二)|学习笔记
快速学习本地部署 PolarDB-X(二)
本地部署 PolarDB-X(二)|学习笔记
|
SQL 弹性计算 Kubernetes
本地部署 PolarDB-X(三)|学习笔记
快速学习本地部署 PolarDB-X(三)
本地部署 PolarDB-X(三)|学习笔记
|
关系型数据库 PostgreSQL
《PostgreSQL复制原理及高可用集群》电子版地址
PostgreSQL复制原理及高可用集群
107 0
《PostgreSQL复制原理及高可用集群》电子版地址
|
SQL 存储 Kubernetes
本地部署 PolarDB-X(四)|学习笔记
快速学习本地部署 PolarDB-X(四)
|
存储 SQL 缓存
PostgreSQL复制原理及高可用集群 ——朱贤文
PostgreSQL复制原理及高可用集群 ——朱贤文
PostgreSQL复制原理及高可用集群  ——朱贤文