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

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS MySQL,集群版 2核4GB 100GB
推荐场景:
搭建个人博客
云原生数据库 PolarDB MySQL 版,Serverless 5000PCU 100GB
简介: 快速学习 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数据库、数据库生态工具、云原生智能化数据库管控平台,为阿里巴巴经济体以及各个行业的企业客户和开发者提供从公共云到混合云再到私有云的完整解决方案,提供基于云基础设施进行数据从处理、到存储、再到计算与分析的一体化解决方案。本节课带你了解阿里云数据库产品家族及特性。
相关文章
|
9月前
|
数据采集 NoSQL 容灾
如何实现不同MongoDB实例间的数据复制?
除了MongoDB迁移外,NineData支持MongoDB实例间的长期复制,可应用于数据容灾、读写分离、测试数据构建等业务场景。同时,NineData也已支持数十种常见数据库的迁移复制。NineData提供即开即用的SAAS模式,及企业专属集群模式,满足企业最高的数据安全合规要求。
107 0
如何实现不同MongoDB实例间的数据复制?
|
11月前
|
存储 关系型数据库 数据库
PostgreSQL复制原理及高可用集群
文章来自: 朱贤文 | 成都文武信息技术有限公司 分析
198 1
|
SQL 存储 运维
视频 -AliSQL 和读写分离基本原理(二)| 学习笔记
快速学习视频 -AliSQL 和读写分离基本原理。
197 0
视频 -AliSQL 和读写分离基本原理(二)| 学习笔记
|
SQL 存储 缓存
视频 -AliSQL 和读写分离基本原理(一)| 学习笔记
快速学习视频 -AliSQL 和读写分离基本原理。
155 0
视频 -AliSQL 和读写分离基本原理(一)| 学习笔记
|
存储 SQL 运维
视频 -AliSQL 和读写分离基本原理(三)| 学习笔记
快速学习视频 -AliSQL 和读写分离基本原理。
111 0
视频 -AliSQL 和读写分离基本原理(三)| 学习笔记
|
存储 SQL 缓存
PostgreSQL 复制原理及高可用集群(一)|学习笔记
快速学习 PostgreSQL 复制原理及高可用集群(一)
351 0
PostgreSQL 复制原理及高可用集群(一)|学习笔记
|
关系型数据库 PostgreSQL
|
SQL 存储 Kubernetes
跟我学:PolarDB-X Replica原理和使用
本文整理自阿里云数据库高级工程师佘志伟,在PolarDB-X动手实践系列的分享。
跟我学:PolarDB-X Replica原理和使用
|
存储 SQL 缓存
PostgreSQL复制原理及高可用集群 ——朱贤文
PostgreSQL复制原理及高可用集群 ——朱贤文
PostgreSQL复制原理及高可用集群  ——朱贤文
LXJ
|
关系型数据库 Shell 数据库
postgresql双机热备(流复制)及主备切换
postgresql双机热备(流复制)及主备切换
LXJ
2169 0