Tunnel 是一个将postgresql的实时数据同步到es或kafka的服务
- Postgresql 9.4 or later
- Kafka 0.8 or later
- ElasticSearch 5.x
tunnel 利用pg内部的逻辑复制功能,通过在pg创建逻辑复制槽,接收数据库的逻辑变更,通过解析test_decoding特定格式的消息,得到逻辑数据
$ git clone https://github.com/hellobike/tunnel
$ cd tunnel
$ mvn clean package -Dmaven.test.skip=true
$ cd target
$ unzip AppTunnelService.zip
$ cd AppTunnelService
$ java -server -classpath conf/*:lib/* com.hellobike.base.tunnel.TunnelLauncher -u false -c cfg.properties
PG数据库需要预先开启逻辑复制pg配置
Tunnel支持使用prometheus来监控同步数据状态,配置Grafana监控
Tunnel 使用 Apache License 2 许可