PostgreSQL数据库开源管理平台CLup详解.docx
开源PG管理平台CLup分享
演讲人:唐成
目录
CONTENTS
?
个人介绍
开源好用的CLup为什么需要CLup3分钟快速体验
个人介绍
《PostgreSQL修炼之道:从小工到专家》的作者,PostgreSQL中国社区常委,开源连接池软件ZQPool作者。资深数据库架构师,从业20多年,拥有20年数据库、操作系统、存储领域的工作经验。精通c/c++、
golang和python,擅长使用C语言做数据库内核开发以及使用golang编写高性能数据库中间件。
目录
CONTENTS
?
个人介绍
开源好用的CLup
为什么需要CLup3分钟快速体验
关于CLup
CLup是由中启乘数科技自主研发和开源的PostgreSQL/PolarDB管理平台,用户可以在CLup中轻松管理、维护
PostgreSQL/PolarDB数据库高可用集群、管理VIP资源和ZQPool数据库连接池。
核心功能
数据库维护
CLup整合了强大的数据库创建与管理能力,
能够操控PostgreSQL/PolarDB数据库如启
停,查看会话活动及锁的状态,实现对数据库资源的精细控制与高效运维。
高可用集群管理
CLup提供完整的数据库高可用集群解决方案,一键创建并管理PostgreSQL/PolarDB高可用集群,并实现故障自动切换、VIP池
灵活调度以及ZQPool连接池高效管理,确保数据库服务的持续稳定与高效运作。
设计理念
专注造就专业,CLup专注于PostgreSQL及其
相关衍生数据库的运维管理,深挖PG生态内核,
追求卓越的专业水准。
乘数科技坚持深耕PG领域,打造既有深度又易
于使用的CLup数据库管理平台,助力用户实现高效的数据库运维与管控。
设计理念
防止hang的秘技:探测数据库是否正常的过程是通过启动新的子进程,然后要求子进程在指定的超时时间内返回,如果在指定的时间内
没有返回,则认为出现问题,然后把子进程给kill掉。
在故障时,会让探测脚本hang住,原因有很多,首先是TCP协议不是消息的方式,而是流的方式。接收一个消息时,需要事先知道消息的长度,然后一直接收到指定长度的消息,
如果没有接收到指定长度的消息,则会一直等待,这时就可能hang了
拥抱开源
CLup一经开源,便受到了广泛的关注。
开源地址:
/csudata/clup
/csudata/clup-agent
拥抱开源
Star:135
Fork:13恳请大家加星
目录
CONTENTS
?
个人介绍
开源好用的CLup
CLup解决了什么问题
3分钟快速体验
CLup
传统解决什么问题?
传统
CLup
集群可靠性高配置简单切换简单无需自定义脚本有集中管理功能可靠性低配置复杂切换复杂需要自定义脚本无集中管理功能使用CLup可以轻松管理几十套至上几百套PostgreSQL高可用的数
集群
可靠性高配置简单切换简单
无需自定义脚本有集中管理功能
可靠性低配置复杂切换复杂
需要自定义脚本无集中管理功能
发生故障时可以自动切换,无需人工干预,同时也支持手动一键切换。通过界面实时掌握数据库情况,出现问题及时处理,保障业务的平稳运行。
高可用容灾切换特性
CLup作为第三方观察者,不影响数据库状态
CLup独立于数据库系统运行,与Patroni不同的是,即使CLup发生故障也不会干扰数据库的正常运作,仅影响高可用性切换功能的执行。
跨机房的容灾切换,支持多VIP配置
当数据库高可用集群的节点部署在多个机房时,CLup支持为每一个机房设置不同的VIP配置,进行跨机房的容灾切换时,CLup可以为不同的机房设置提前配置好的不同VIP。
容灾的优先级切换策略
CLup支持为每一个数据库节点设置优先级,进行容灾切换时,会切换到优先级最高的节点,如果优先级相同,则选择日志同步最近的备库进行切换。
智能检测和应用最新的WAL日志
CLup会按优先级顺序进行容灾切换,但在很多情况下,优先级最高的节点不一定是应用的数据库日志最近的节点,为了尽可能保证数据的完整性,CLup会检查所有备库的WAL日志应用情况,把最新的WAL日志从其他的备库拷贝到新的主库节点并应
用。
高可用QA
01
Q:一主多备的同步复制情况下,当所有的备库都不可用时,主库是否会hang住?
A:当CLup发现所有的备库都不可用时,为