binlog4j

简介: binlog4j

敢同恶鬼争高下,不向霸王让寸分。――毛泽东《七律庆祝第二次核试验成功》

分享一个基 于 Java 轻 量 级 的 Mysql (Mariadb) Binlog 客 户 端

binlog4j: 基 于 Java 轻 量 级 的 Mysql (Mariadb) Binlog 客 户 端

  • 集群模式, 通过集群部署的方式,保证服务高可用。
  • 宕机续读, 避免宕机期间造成数据丢失。
  • 数据转换, 基于泛型封装 binlog Event 的序列化数据。
  • 兼容 传统项目 与 Spring Boot / Cloud 项目。
  • 兼容 Spring Boot 2.x 与 Spring Boot 3.x 版本。

下载安装

<dependency>
   <groupId>com.gitee.Jmysy</groupId>
   <artifactId>binlog4j-core</artifactId>
   <version>latest.version</version>
</dependency>

简单使用

通过 BinlogClient 创建 binlog 客户端, IBinlogEventHandler 用于接受 binlog 事件通知, 该接口允许使用泛型, 数据将遵循驼峰规则进行封装。

public class BootStrap {
    public static void main(String[] args) {
        BinlogClientConfig clientConfig = new BinlogClientConfig();
        clientConfig.setHost("127.0.0.1");
        clientConfig.setPort(3306);
        clientConfig.setUsername("root");
        clientConfig.setPassword("taoren@123");
        clientConfig.setServerId(1990);
        IBinlogClient binlogClient = new BinlogClient(clientConfig);
        binlogClient.registerEventHandler("database", "table", new IBinlogEventHandler() {
            @Override
            public void onInsert(BinlogEvent event) {
                System.out.println("插入数据:{}", event.getData());
            }
            @Override
            public void onUpdate(BinlogEvent event) {
                System.out.println("修改数据:{}", event.getData());
            }
            @Override
            public void onDelete(BinlogEvent event) {
                System.out.println("删除数据:{}", event.getData());
            }
        });
        binlogClient.connect();
    }
}
相关文章
|
7月前
|
存储 SQL 关系型数据库
binlog,undolog,redolog
binlog,undolog,redolog
101 3
|
7月前
|
关系型数据库 MySQL 数据库
Mysql数据库redo log及binlog的写入
Mysql数据库redo log及binlog的写入
|
SQL 监控 关系型数据库
Binlog详解
Mysql binlog是二进制日志文件,用于记录mysql的数据更新或者潜在更新(比如DELETE语句执行删除而实际并没有符合条件的数据),在mysql主从复制中就是依靠的binlog。
2633 0
|
SQL 存储 关系型数据库
MySQL中的二进制日志(binlog)与中继日志(Relay log)
MySQL中的二进制日志(binlog)与中继日志(Relay log)
745 0
|
7月前
|
SQL 存储 关系型数据库
MySQL-日志&二进制日志binlog初探
MySQL-日志&二进制日志binlog初探
118 0
|
SQL 存储 关系型数据库
mysqldump+binlog+gtid 实现数据库的增量备份(上)
mysqldump+binlog+gtid 实现数据库的增量备份
604 0
|
SQL 存储 关系型数据库
mysqldump+binlog+gtid 实现数据库的增量备份(下)
mysqldump+binlog+gtid 实现数据库的增量备份(下)
434 0
|
关系型数据库 MySQL
可以同时解析多个binlog吗
1.可以同时解析多个binlog吗 2. innodb_buffer_pool_instances设置多少合适
173 0
|
SQL 存储 缓存
MySQL中的redolog,undolog,以及binlog的区别及各自作用是什么?
MySQL中有六种日志文件, 分别是:重做日志(redo log)、回滚日志(undo log)、二进制日志(binlog)、错误日志(errorlog)、慢查询日志(slow query log)、一般查询日志(general log),中继日志(relay log)。 其中重做日志和回滚日志与事务操作息息相关,二进制日志也与事务操作有一定的关系,这三种日志,对理解MySQL中的事务操作有着重要的意义。 这里简单总结一下这三者具有一定相关性的日志。
MySQL中的redolog,undolog,以及binlog的区别及各自作用是什么?
|
AliSQL 关系型数据库 MySQL
Binlog In Redo
Introduce the feature which persists binlog into redo on RDS-8.0
409 0
Binlog In Redo