我的编程空间,编程开发者的网络收藏夹
学习永远不晚

pgsql binlog监听功能点解析

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

pgsql binlog监听功能点解析

引言

监听mysql binlog 大家都知道canal,但是如果是pglog呢,先百度

pgsql binlog监听功能点解析

也就这个靠点谱,文章 没有我想要的demo

去官网看看debezium.io/

其中这个 网址给了demo 但是不能直接用于生产

功能点

首先 pglog binlog监听需要满足哪些功能点

机器宕机,能支持断点续接

进行磁盘持久化

如果监听的表 长时间没有数据变动,delay_size 会变大

//设置心跳时间,就算没有数据 也会保持心跳
props.setProperty("heartbeat.interval.ms", "20000");
for (ChangeEvent<String, String> r : records) {
    try {
        if (log.isDebugEnabled()) {
            log.debug("{}\n{}", r.key(), r.value());
        }
        if (r.value() != null && r.value().startsWith("{"ts_ms")) {
            continue;
        }
        xxx 具体数据处理
    } catch (Exception e) {
        log.error("PGLog-binlog param:[{}]", r, e);
    }
}

心跳这个是 当时上生产的时候,突然发现没有数据变更的时候 ,有报警,说delay了。。。这顿害怕

pgsql binlog监听功能点解析

大概意思

数据库中有许多更新正在被跟踪,但只有极少数更新与连接器正在为其捕获更改的表和模式相关。这种情况可以通过周期性的心跳事件轻松解决。设置heartbeat.interval.ms连接器配置属性。

由于WAL由所有数据库共享,因此使用的WAL数量趋于增长,直到Debezium为其捕获更改的数据库触发事件。为了克服这一点,有必要:使用heartbeat.interval.ms连接器配置属性启用周期性心跳记录生成。定期从Debezium正在捕捉变化的数据库中发出更改事件。

其中

if (r.value() != null && r.value().startsWith("{"ts_ms")) {
    continue;
}

这是因为 如果没有数据来的话,会是ts_ms 开头的,代表,没有新数据

每次binlog传的size 太多,导致服务器处理不过来

props.setProperty("max.BATch.size", "200");

对多个表的监听,应该只有一个流进行监听

props.setProperty("table.include.list", schs.stream().map(BinlogConfig::getSch).map(a -> tables.stream().map(b -> a + "." + b).map(String::valueOf).collect(Collectors.joining(","))).map(String::valueOf).collect(Collectors.joining(",")));

希望磁盘持久化offset,保持数据的正确性

props.setProperty("snapshot.mode", "never");

小工具

查询数据库 offset推迟多少

select pg_replication_slots.*, 
pg_current_wal_lsn(), 
pg_size_pretty(pg_wal_lsn_diff(pg_current_wal_insert_lsn(), 
restart_lsn)) as delay_size 
from pg_replication_slots;

这个工具在生产已经实践稳定,可以直接使用,有问题 可以评论

代码 github.com/a25017012/y…

以上就是pgsql binlog监听功能点解析的详细内容,更多关于pgsql binlog监听的资料请关注我们其它相关文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

pgsql binlog监听功能点解析

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

pgsql binlog监听功能点解析

目录引言功能点机器宕机,能支持断点续接如果监听的表 长时间没有数据变动,delay_size 会变大每次binlog传的size 太多,导致服务器处理不过来对多个表的监听,应该只有一个流进行监听希望磁盘持久化offset,保持数据的正确性小
2023-02-14

pgsqlbinlog监听功能点解析

这篇文章主要为大家介绍了pgsqlbinlog监听功能点解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
2023-02-14

Android 监听锁屏、解锁、开屏 功能代码

1、首先定义 ScreenListener package com.app.lib; import android.content.BroadcastReceiver; import android.content.Context; imp
2022-06-06

阿里云服务器监听8080功能详解

在搭建网站或者开发过程中,我们经常会遇到需要监听8080端口的问题。那么,阿里云服务器是如何监听8080功能的呢?本文将对此进行详细介绍。正文:阿里云服务器是一款强大的云计算产品,它提供了丰富的功能和接口,使得用户可以轻松地在云上搭建网站或者进行各种应用开发。其中,监听8080端口是常见的需求之一。本文将详细讲解
阿里云服务器监听8080功能详解
2023-11-06

深入解析WordPress:功能与特点分析

WordPress 是一款功能强大的开源内容管理系统(Content Management System,CMS),广泛应用于网站建设和博客发布。它具有丰富的功能和特点,成为许多用户选择的首选工具。本文将深入解析 WordPress 的功能
深入解析WordPress:功能与特点分析
2024-03-01

Django框架的核心特点和功能解析

Django是一个流行的Web框架,它被广泛用于开发高性能、可维护和可扩展的Web应用程序。Django提供了许多核心特点和功能,以帮助开发人员快速构建应用程序。本文将对Django框架的核心特点和功能进行详细解析,并提供具体代码示例。O
Django框架的核心特点和功能解析
2024-01-19

ECShop平台解析:功能特点与应用场景详解

ECShop平台解析:功能特点与应用场景详解ECShop是一款基于PHP+MySQL开发的开源电商系统,它具有强大的功能特点和广泛的应用场景。本文将详细解析ECShop平台的功能特点,并结合具体的代码示例,探讨其在不同场景下的应用。功能
ECShop平台解析:功能特点与应用场景详解
2024-03-14

Android App中实现向右滑动销毁功能的要点解析

今天给大家带来一个向右滑动销毁Activity的效果,Activtiy随着手指的移动而移动,该效果在Android应用中还是比较少见的,在IOS中就比较常见了,例如“网易新闻” ,"美食杰" , "淘宝"等应用采用此效果,而Android应
2022-06-06

阿里云服务器监控磁盘位置详细步骤与功能解析

随着云计算的发展,越来越多的企业和个人开始使用阿里云服务器进行在线应用的运行和数据存储。但是,对于阿里云服务器的磁盘管理,可能并不是每个用户都熟悉。这篇文章将详细介绍阿里云服务器监控磁盘的位置,以及如何通过阿里云的管理控制台进行磁盘使用情况的监控和管理。阿里云服务器监控磁盘位置:阿里云服务器的磁盘位置通常存储在阿
阿里云服务器监控磁盘位置详细步骤与功能解析
2023-10-30

开源系统监控工具Nagios、Zabbix和Open-Falcon的功能特性汇总及优缺点比较的示例分析

开源系统监控工具Nagios、Zabbix和Open-Falcon的功能特性汇总及优缺点比较的示例分析,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。Nagios
2023-06-05

编程热搜

目录