ct qi
ct qi
1: mysql to mysql 2: mysql to es 3: mysql to tidb 目前都在测试中
从源和目标Redis实例取key、value ,是全量获取的吗,还是分小批次逐一获取的呢 ? 谢谢
@NickNYU 我们情况是这样的: 公司业务至今存在有十多年了,这十多年间先后购买了不同版本的Redis,属于历史问题。大部分业务线都在阿里云,小部分在腾讯云。 我们目前规划是统一所有的Redis版本为5.0,把低于5.0的版本都升级到5.0版本。云厂商的低版本Redis是支持升级到5.0版本的,但升级后是不支持再回滚到原低版本的。 我们评估用x-pipe,主要是期望:在低版本Redis升级到5.0版本后,当业务发现异常且短时间内不能解决时,通过x-pipe把高版本的Redis的全量+增量数据同步至另一个新的低版本的Redis,进而达到Redis版本回滚的目的。 我们用的云厂商Redis是高可用版本的,但其自带的哨兵是没有提供访问地址的,上面想确认的是哨兵对x-pipe来说是不是必须要有的组件呢 谢谢 ~
好的 了解了 多谢 ~ 对于双写可能涉及业务上的改造,可能还会带来更多的不确定性,以及升级周期的延长,目前暂不考虑 需要进行高版本升级的Redis数量近100个,但最终需要实施版本回滚的Redis数量可能很少,甚至个位数 目前偏向于选择一个类似x-pipe的组件,在异常情况出现时,短时间内把高版本Redis数据同步至低版本中,业务侧可以接受Redis部分数据在短时间内的不一致,借助云厂商5.0版本Redis提供的写日志API,在业务回滚至低版本Redis后进行事后补偿
嗯 是的 感谢大佬指点 @NickNYU
期望是 db1.table1 表的监听写进 topic1 中 ,canal目前是OK的可以做到 ;但其它表的修改的监听都写进了 topic2 中,且只写0分区 ,这些消息实际上是不需要的 ,希望是可以丢弃掉这部分消息 。 canal 1.1.4 也有这个现象 上游是 mysql 5.7 谢谢
> 1.canal.instance.filter.regex不生效问题 首先确认一下是不是 binlog_rows_query_log_events=ON 这个开关打开了,如果不是的话就跳过 如果是的话,修改这一行配置 canal.instance.filter.query.dml = true (默认为 false,改为 true)试试 ———————————————— > > ``` > 版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 > ``` > > 原文链接:https://blog.csdn.net/line_on_database/article/details/127494796 大佬,测试了一下,修改 canal.instance.filter.query.dml =...
> 得等主分支修复了,可以看下我fork的分支,https://gitee.com/zhoujin826/goInception 大佬 ,我从gitee上下载了最新版本 v1.3.0-159-gd625352 验证示例sql: > with x as (select * from movies) select id,movie from x; 结果是: > error_level返回 2 > error_message 返回 " Table 'pms.x' doesn't exist.Column...
 id和movie列在表里是有的 ,有点奇怪
``` ./goInception -V Release Version: v1.3.0-159-gd625352 Git Commit Hash: d625352d2ca160cba45a4b4128757ccfc57071bf Git Branch: master UTC Build Time: 2024-05-28 13:38:05 GoVersion: go version go1.22.2 linux/amd64 ``` 配置文件和社区一致的, v1.3.0-159-gd625352 这个版本是对的吗 ? 谢谢