Porter 简介
优质
小牛编辑
133浏览
2023-12-01
Porter 始于2017年,提供数据同步功能,但并不仅仅局限于数据同步,在随行付内部广泛使用。主要提供一下功能:
- 数据库准实时同步
- 数据库迁移
- 数据库治理
- 自定义源端、目标端数据同步
- 自定义数据抽取逻辑
核心功能
- 原生支持Oracle|Mysql到Jdbc关系型数据库最终一致同步
- 插件友好化,支持自定义源端消费插件、目标端载入插件、告警插件等插件二次开发。
- 支持自定义源端、目标端表、字段映射
- 支持节点基于配置文件的同步任务配置。
- 支持管理后台同步任务推送,节点、任务管理。提供任务运行指标监控,节点运行日志、任务异常告警。
- 支持节点资源限流、分配。
- 基于Zookeeper集群插件的分布式架构。支持自定义集群插件。
快速开始
从源码编译
git clone https://github.com/sxfad/porter.git
cd porter
git checkout 版本
gradle build
从build/distributions目录查找安装包
配置
#节点编号,在集群中唯一
porter.id=1
#开启自动gc控制(4.0新增)
porter.gc=true
#zk集群配置
porter.cluster.strategy=ZOOKEEPER
porter.cluster.client.url=127.0.0.1:2181,127.0.0.2:2181,127.0.0.3:2181
porter.cluster.client.sessionTimeout=100000
#统计数据收集,与manager-cluster搭配使用,不配置kafka时默认上传到zookeeper
porter.statistic.upload=true
#使用kafka统计数据
#porter.cluster.statistic.sourceType=KAFKA_PRODUCE
#porter.cluster.statistic.servers=127.0.0.1:9200
#porter.cluster.statistic.topic=你的kafka主题
#单机模式
porter.cluster.strategy=STANDALONE
porter.cluster.client.home=./.porter
运行
tar zxvf build/distributions/porter-boot-版本.tar
porter-boot-版本/bin/porter-boot
调试
porter-boot-版本/bin/porter-boot debug 端口号
运行环境
porter-boot-版本/bin/porter-boot --spring.profiles.active=运行环境
关闭
porter-boot-版本/bin/shutdown.sh
强制启动
当 porter-boot 因 jvm crash、kill -9 强杀进程等原因造成节点、任务没有正常退出,再次启动 porter-boot 不成功、任务无法分配时使用。
通过porter-boot的 http 接口 http://ip:端口/inspect/node/info
查看参数 forceAssign
判断是否处于强制启动状态
porter-boot-版本 /bin/porter-boot --force