最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

pgsql binlog監(jiān)聽功能點解析

 更新時間:2023年02月14日 10:50:25   作者:雨夜之寂  
這篇文章主要為大家介紹了pgsql binlog監(jiān)聽功能點解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪

引言

監(jiān)聽mysql binlog 大家都知道canal,但是如果是pglog呢,先百度

也就這個靠點譜,文章 沒有我想要的demo

去官網(wǎng)看看debezium.io/

其中這個 網(wǎng)址給了demo 但是不能直接用于生產(chǎn)

功能點

首先 pglog binlog監(jiān)聽需要滿足哪些功能點

機器宕機,能支持斷點續(xù)接

進行磁盤持久化

如果監(jiān)聽的表 長時間沒有數(shù)據(jù)變動,delay_size 會變大

//設置心跳時間,就算沒有數(shù)據(jù) 也會保持心跳
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 具體數(shù)據(jù)處理
    } catch (Exception e) {
        log.error("PGLog-binlog param:[{}]", r, e);
    }
}

心跳這個是 當時上生產(chǎn)的時候,突然發(fā)現(xiàn)沒有數(shù)據(jù)變更的時候 ,有報警,說delay了。。。這頓害怕

大概意思

數(shù)據(jù)庫中有許多更新正在被跟蹤,但只有極少數(shù)更新與連接器正在為其捕獲更改的表和模式相關。這種情況可以通過周期性的心跳事件輕松解決。設置heartbeat.interval.ms連接器配置屬性。

由于WAL由所有數(shù)據(jù)庫共享,因此使用的WAL數(shù)量趨于增長,直到Debezium為其捕獲更改的數(shù)據(jù)庫觸發(fā)事件。為了克服這一點,有必要:使用heartbeat.interval.ms連接器配置屬性啟用周期性心跳記錄生成。定期從Debezium正在捕捉變化的數(shù)據(jù)庫中發(fā)出更改事件。

其中

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

這是因為 如果沒有數(shù)據(jù)來的話,會是ts_ms 開頭的,代表,沒有新數(shù)據(jù)

每次binlog傳的size 太多,導致服務器處理不過來

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

對多個表的監(jiān)聽,應該只有一個流進行監(jiān)聽

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,保持數(shù)據(jù)的正確性

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

小工具

查詢數(shù)據(jù)庫 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;

這個工具在生產(chǎn)已經(jīng)實踐穩(wěn)定,可以直接使用,有問題 可以評論

代碼 github.com/a25017012/y…

以上就是pgsql binlog監(jiān)聽功能點解析的詳細內(nèi)容,更多關于pgsql binlog監(jiān)聽的資料請關注腳本之家其它相關文章!

相關文章

最新評論

汕尾市| 谢通门县| 永昌县| 伊宁县| 锡林郭勒盟| 四平市| 河池市| 汾西县| 易门县| 景东| 连城县| 尤溪县| 出国| 崇仁县| 内丘县| 扶沟县| 贡嘎县| 兰西县| 龙陵县| 白朗县| 河曲县| 安新县| 宜章县| 富锦市| 富顺县| 顺义区| 定南县| 灵山县| 伽师县| 重庆市| 延庆县| 兰考县| 崇文区| 桑植县| 龙南县| 年辖:市辖区| 武义县| 会昌县| 阳东县| 兰考县| 永城市|