在异构数据库之间持续同步结构与数据的开箱即用 Web 应用:单个 jar 启动,浏览器点选即可在内置的 26 种数据库(另支持自定义类型)之间任意两种建立同步链路。不需要 Kafka、Flink、ZooKeeper,也不需要编写一行作业代码。
- 零外部依赖:Spring Boot 单体 + Thymeleaf 服务端渲染 + Quartz + H2 内嵌元数据库,内网离线可用。
- 全量不是批量查询导入:主键 keyset 分块、单表内并行、结果集流式读取、逐块提交与检查点,单表吞吐可达 20 万行/秒量级。
- 增量只有一条索引查询:默认轮询模式只读游标之后的变化,一个只读账号即可;四类源库可切换日志 CDC,做到秒级延迟。
- 结构与数据一起走:目标库缺失时自动建表 / 索引 / 视图 / 存储过程,内置各方言类型映射与函数转换。
- 可靠续传:停机、断网、进程被杀都能从检查点继续,写入全部幂等,停机期间源库的变更重启后自动补齐。
| 资源 | 地址 |
| 下载(GitHub) | |
| 下载(Gitee) | |
| 官网 | jync.qqmu.com |
| 视频演示 | Bilibili · 26 分钟,从建连接到实时同步 |






V1.8.0 更新新功能统一认证
- 配置位置:「配置管理 → 外部认证」(/external-auth)。三种方式共用一张配置卡:启用开关、认证方式、管理员用户名列表(逗号分隔、区分大小写)、门户登录地址、退出后跳转地址。
- 账号密码:Jync 在服务端把账号密码 POST 到管理员填写的登录接口,支持表单或 JSON 请求、请求/响应字段名(响应字段支持 data.user 点路径)、成功标识(留空时 HTTP 2xx 即成功)、管理员标识与超时(500–30000 ms)。密码只经过内存,不落库、不写日志。
- 网关头:网关/反向代理完成登录后,把用户标识放在约定的请求头里。Jync 只采信直接 TCP 对端位于回环或 app.security.trusted-proxies 内的请求;可选共享密钥头(加密存储、常量时间比较)。网关必须剥离客户端伪造的身份头。
- 票据:登录中心签发一次性 ticket 后跳回 /sso/entry?ticket=…,Jync 在服务端调用校验地址(GET 或 POST,票据参数名可配),校验通过才建立会话。票据不写审计、不在页面回显,落地页一律 302。
- 外部用户只保留会话:不写入 app_user,没有本地密码,因此也没有改密入口——服务端拒绝 /account/password,菜单项同时隐藏。
- 管理员判定:配置中的用户名列表命中即管理员;账号密码与票据还可用响应字段、网关头可用请求头标记授予管理员,其余外部用户为只读角色。
- 连通性测试:网关头与票据模式提供测试按钮,返回当前请求会被识别成谁、来源是否可信,以及一次真实票据校验的结果;不创建会话。
- 登录页分流:/login 按当前认证方式展示本地表单或门户引导页;本地账号表单在 /login/local,本地登录关闭后该地址仍可访问,但只显示已关闭提示。
- 关闭本地登录与恢复:关闭前必须先启用并完成外部认证配置,否则保存被拒;关闭时二次确认。关闭后 POST /login 也被拒绝。若外部认证随后不可用,以 JYN_RESET_LOGIN=true 启动一次即可重新打开本地登录并保存,修好外部配置后去掉变量重启。
- 退出跳转:可让退出登录后跳到门户的退出页(同站路径或 http(s) 地址,其他值回退到 /login?logout)。
导航与页面
- 导航分组:「配置管理」(数据库连接、AI 配置(已启用时)、外部认证(仅管理员))与「日志管理」(变更日志、审计日志(仅管理员)、系统日志);看板、同步任务、系统信息保持顶级。窄屏抽屉里分组退化为可展开的一行标题加缩进子项。
- 系统日志页(/system-logs,所有登录用户):按文件、级别(DEBUG / INFO / WARN / ERROR / 全部)与关键字(不区分大小写)过滤,黑底面板展示并高亮关键字;滚动归档按 gzip 解压读取。只读日志目录中由滚动策略生成的文件,最多扫描 16 MB(普通文件从尾部、归档从头部),返回最近 1000 条匹配行,并提示是否截断。
- 界面统一改称「同步任务」:导航、看板、列表、详情与设置中的「项目」文案全部改为「同步任务」;路由、数据表与 API 不变。
数据核对
- 按需核对行数:同步任务详情的「各表同步进度」卡新增「核对行数」按钮,逐表串行查询源库与目标库的 COUNT(*),弹窗展示源行数、目标行数、差值与状态;支持单表重新核对。
- 边界与失败隔离:只在用户确认后执行,不做后台轮询;单侧查询超时 15 秒,缺表、超时与其他异常分别标记,一侧失败不影响另一侧结果;入口仅管理员可见。
全量对比
- 加载预警:同步任务详情页按各表行数估算全量对比耗时,超过 full-compare-max-rows(默认 20000 行)的表提示需要全表扫描;估算耗时明显长于当前对比间隔时一并给出建议间隔,当前间隔已经更长时不显示更短的建议,避免误导。